3

プログラムで作成されたConfigurationオブジェクト自体を含む組み込み構成でHornetQを使用しています。アプリケーションは動的アドレス作成をサポートします。

新しいアドレスが作成されるときに、ページファイルの使用、最大ページファイルサイズ、ページングのメモリしきい値などの特定のオプションを設定できるようにしたいと思います。HornetQのドキュメントによると、これはアドレスごとに行う必要があります。

新しいアドレスの設定で構成オブジェクトを更新しようとしましたが、サーバー(既に起動されています)はこれらの新しい設定を使用しません。

サーバーが起動したら、アドレスごとの設定についてサーバーに通知する方法はありますか?

または、サーバーを起動する前に、すべてのアドレスを自動的にページングするようにサーバーに指示できますか?

4

1 に答える 1

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);

または、すべてのアドレスの設定を構成オブジェクトに設定することもできます(このSO回答に基づく)。

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);
于 2012-05-24T14:55:26.783 に答える