2009-03-19 5 views
2

私は、ネットワークに断続的に接続されているクライアントを持つアーキテクチャを検討しています。これらのクライアントで作成されたメッセージを、ネットワークが利用できないときにJMSキューに格納し、クライアントがネットワーク上にあるときにこれらを中央メッセージブローカに転送したいとします。 (ユーザーはダイヤルインなどのネットワークを制御しているため、携帯電話のような断続的な接続ではありません。)JMSを使用すると、断続的に切断されたクライアントにメッセージを格納し、ネットワークが利用可能になったときにメッセージをブローカに転送する方法はありますか?

この機能を提供するJMS実装はありますか?

答えて

1

次に、あなたのアプリケーションに

http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html

をActiveMQのブローカーを埋め込むことができ、私はあなたが使用して、あなたはブローカーのネットaccrossメッセージをディスパッチすることを可能にActiveMQの機能を使用することができることを(テストしていない)と仮定ブローカーの発見は、この短所を介して他のブローカーを通じて派遣、キューコンシューマサーバ側を追加することにより

http://activemq.apache.org/clustering.html

または単に、備えていますumer。

希望します。

+0

キューを永続化したい場合もあります。 – Robin

+0

興味深い! ActiveMQをJMSプロバイダとして評価しています。埋め込みブローカがメッセージを送信しようとしているかどうかをプログラムで制御する方法はありますか?クライアントがメッセージを送信する準備ができていない場合は、ブローカを無効にします。 –

0

Glassfish Open Message Queueは、バージョン4.4で埋め込み(またはスタンドアロンで実行)することができます(ブローカが任意のクライアントで「処理中」で実行できるようにする機能)。これは非常に軽量で、バージョン4.4のSTOMPプロトコル(JavaとC以外)をサポートします。https://mq.dev.java.net/4.4.html