メッセージを生成するサーバーとメッセージを受信する多くのクライアントとの間で、パブリッシャー/サブスクライバー ベースの通信プロトコルをセットアップしたいと考えています。少し調べた後、ActiveMQ を使用することにしました。いくつかのチュートリアルと ActiveMQ サイトを見て、次のようにブローカーをセットアップしました。
BrokerService broker = new BrokerService();
broker.setPersistent(false);
broker.addConnector("tcp://localhost:61616");
broker.start();
メッセージパッシング機能のみが必要で、データベースの永続性などは必要ありません。ただし、アプリケーションを起動すると、構成に関係なく、activemq-data フォルダーが作成されます。これにより、次にブローカーを起動したときに例外が発生します。
SEVERE: Failed to start ActiveMQ JMS Message Broker. Reason: java.io.EOFException: Chunk stream does not exist at page: 0
これはバグですか、それともブローカーを正しく設定していないのですか (ActiveMQ 5.4.1 を使用)? 追加のデータ ストレージが作成されないように、永続性を無効にするにはどうすればよいですか? また、xml ファイルではなく、Java アプリケーション内からブローカーを構成することを好みます。
乾杯、マックス