0

クライアントが JMS サーバーから切断されたときに JMS サーバーに配信できないメッセージを保存したい状況があります。JMS プロバイダーのストア アンド フォワード機能については読んだことがありますが、この機能に関するクライアント レベルでの議論は見たことがありません。クライアント実装でこの機能を提供するプロバイダーはありますか?

メッセージを保存して JMS サーバーに転送できるインプロセス JMS プロバイダーを追加することを検討しました。利用可能な最も軽量な実装は何ですか? HornetMQ、ActiveMQ? これは非常にニッチなユース ケースであるように思われます。別のプロバイダーをラップし、完全な組み込み JMS プロバイダーよりも軽量な、このシナリオ用に最適化された実装が存在する可能性があります。

4

1 に答える 1

1

クライアント側でのメッセージの保存は、JMS の標準機能ではありません。JMS サーバーが使用できない場合に備えて、クライアント側で何らかの処理を追加する必要があります。これが発生する可能性を減らすために、JMS サーバーをクライアントと同じマシン、または同じ JVM で実行することができます。ただし、接続が失われる可能性はまだ少しあるため、クライアント側の処理コードが必要です。

また、ローカル JMS サーバーからメッセージを受信するサーバーにメッセージを転送する必要もあります。一部のメッセージング システムには、この転送を処理するための特別な機能があります (たとえば、SonicMQ の動的ルーティング アーキテクチャ)。おそらく、ActiveMQ ( http://activemq.apache.org/networks-of-brokers ) のブローカー ネットワークで同じ動作に到達できます。 .html ) - それ以外の場合は、Apache Camel などの ESB 実装でこの動作を実装できます。

メッセージングの実装に関しては、JBoss 標準メッセージング プロバイダーとして ActiveMQ に置き換えられるため、HornetQ には固執しません。

于 2013-02-11T08:35:27.880 に答える