我在嵌入式配置中使用 HornetQ,配置对象本身以编程方式创建。该应用程序支持动态地址创建。
我希望能够在创建新地址时设置某些选项:页面文件使用、最大页面文件大小、分页的内存阈值。根据the HornetQ documentation ,这需要按地址完成。
我已尝试使用新地址的设置更新我的配置对象,但服务器(已经启动)不使用这些新设置。
有没有办法在服务器启动后告诉服务器每个地址的设置?
或者,我可以告诉服务器在我启动之前自动寻呼所有地址吗?
最佳答案
发帖后很快找到答案:可以使用嵌入式服务器的分页管理器:
final AddressSettings addressSetting = new AddressSettings();
addressSetting.setMaxSizeBytes(10 * 1024 * 1024); // 10 MB
addressSetting.setPageSizeBytes(1024 * 1024); // 1 MB
server.getPagingManager().getPageStore(new SimpleString(addressName))
.applySetting(addressSetting);
或者,所有 地址的设置可以在配置对象上设置(基于 this SO answer ):
final Configuration hornetConfig = new ConfigurationImpl();
// other configuration...
final AddressSettings addressSetting = new AddressSettings();
addressSetting.setMaxSizeBytes(10 * 1024 * 1024); // 10 MB
addressSetting.setPageSizeBytes(1024 * 1024); // 1 MB
final Map<String, AddressSettings> addressing = new HashMap<String, AddressSettings>();
addressing.put("#", addressSetting); // the # pattern matches all addresses
hornetConfig.setAddressesSettings(addressing);
关于java - HornetQ 嵌入式 : can I set paging options for dynamic addreses?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10739717/