2017-09-01 1 views
1

説明: 私はコンシューマとプロデューサがありますが、アーティファクトがダウンしている場合、コンシューマ側からJMS(ARTEMIS)にメッセージをプッシュしているときに、私のメッセージはアルテミスによって受け入れられません。アルテミスがダウンしているときに、プロデューサーサイドからのメッセージを取得する方法は?

これは、私が自分のアルテミスをオンにすると、メッセージはそれらが失われたアルテミスキューbczには存在しないことを意味します。

私が知りたいのは、コンシューマー側のcontext.xmlに設定できるバッファーのようなものです。これは、アルテミスがまだトラックに戻っている間にプッシュされたメッセージを保存するためです。

私はパラメータがあります。

consumerWindowSize = 1024000000 bytes 
producerWindowSize = 102400000 bytes 
maxRetryInterval = 1000000 ms 
setCallFailoverTimeout = 50000ms 

楽しみにしています。助けてください。

+0

ARTEMISブローカのマスタスレーブクラスタを作成することができます。マスターがダウンすると、スレーブはクライアントが起動しなくなるまでクライアントメッセージを処理します。 –

答えて

3

Artemis JMSクライアントはクライアント側のメッセージバッファリングを提供しません。これを行うには、自分で実装するか、他のサードパーティライブラリを使用する必要があります。

ローカルのArtemisインスタンスを実行し、ブリッジまたはネットワークを通常のリモートに使用して、リモートブローカがダウンしている間にローカルブローカが引き続きメッセージを受信する可能性があります。

+0

これは使用する方法がないことを意味しますどんな構成でもクライアント側に置くことができるので、バッファをいくつか持つことができます。面白い 。 – addytheriot

+0

ので、ローカルブローカーが本物のArtemisインスタンスとブリッジを持つプログラムを作成する必要があるかもしれません。そのため、ダウンして買ったときにローカルインスタンスからのメッセージを受け入れることができます。 – addytheriot

+0

どのようなタイプの橋のように、橋に何をお勧めしますか?少し説明すれば本当に役立つでしょう。 – addytheriot

関連する問題