2012-05-24 76 views
3

我在嵌入式配置中使用HornetQ,並以編程方式自己創建Configuration對象。該應用程序支持動態地址創建。HornetQ embedded:我可以爲動態addreses設置分頁選項嗎?

我希望能夠在創建新地址時設置某些選項:頁面文件使用,最大頁面文件大小,分頁內存閾值。根據the HornetQ documentation,這需要按每個地址完成。

我試着用新地址的設置更新我的配置對象,但服務器(已經啓動)不使用這些新設置。

有沒有辦法告訴服務器每個地址設置一旦啓動?

或者,我可以告訴服務器自動尋址全部地址,然後再啓動它嗎?

回答

3

找到了答案發布後不久:您可以使用呼叫管理器嵌入式服務器:

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); 
相關問題