2016-10-17 4 views
1

私はApache Qpidを使用していますが、例を見ていますが、レシーバを設定して接続が切断されない場合があるかどうかを確認する方法はありませんキュー内の新しいメッセージqpidレシーバを設定する方法

+0

default_containerを使用していますか? MessageHandler?その後、受信者はあなたがそれを行うまで閉じられません。新しいメッセージを受け取ったら、それをon_messageで受け取るべきです。 –

+0

@MertKoksal私はこのサンプルサンプルを使用しました。そこには 'MessageConsumer'と' ConnectionFactory'があり、 '1000ms'タイムアウトが閉じた後 –

答えて

1

Qpid JMSクライアントを使用しているようです。その非常に基本的な例は、JMSで利用可能なさまざまなコンポーネントを示していて、(あなたが望むものに完全に依存する)代表的なアプリケーションではないため、同期受信()呼び出しを設定する簡単な受信者があります。新しいメッセージのために長い間それを待つようなタイムアウト(例の他のビットによって送信されるような)、タイムアウト内に到着しない人は、それが完了してから終了することを意味します。

メッセージを待つ場合は、例のように終了する代わりにreceiveを繰り返し呼び出すなど、さまざまなオプションがあります。時間切れを避けるためにタイムアウトの大きい受信を呼び出す、またはタイムアウトなしで受信を呼び出すことさえ可能です戻ってくる前に次のメッセージのために必要なだけ待つようなものです。また、コンシューマ用の非同期MessageListenerを登録して、リスナーがメッセージの到着時およびメッセージ到着時に呼び出されるようにすることもできます。

これらの概念の詳細については、任意のJMSチュートリアルを参照してください。

関連する問題