このセクションでは、ポイントツーポイント(P2P)メッセージングについて説明します。 P2Pメッセージング(またはキューベースメッセージング)では、メッセージのキューが使用されます。 キューに送信されたメッセージは、最大でも1つのコンシューマにしか消費されません。 次に例を示します。
メッセージは、現在使用できるコンシューマが存在しない、またはメッセージの消費に興味あるコンシューマがいない場合でもキューに保存されます。 キューは、送信者と受信者間の動的な「パイプ」のような役割をし、送信されたものの消費されていないすべてのメッセージを保持します。
ポイントツーポイントメッセージングを簡単に紹介するため、このセクションではキューの有名な「Hello」プログラムについて説明します。 送信者アプリケーションは、「Hello」メッセージをキューに送り、受信者アプリケーションは、このメッセージを受け取ります。
『概念ガイド』で説明されているように、JMSでは、同期と非同期の2種類のメッセージ受信方法がサポートされています。 同期モデルでは、コンシューマはreceiveメソッドを呼び出してメッセージを取得する必要があります。 非同期モデルでは、JMSは、登録メッセージリスナにメッセージを配信します。
複数の受信者が同じキューからメッセージを消費する場合、jBroker MQは、ラウンドロビン方式でメッセージをコンシューマに割り当てます。 つまり、より高いメッセージ処理速度が必要な場合は、さらに多くのコンシューマをアプリケーションに追加できます。
メッセージはキューに保存されるため、P2Pモデルでは通常のメッセージコンシューマの他にキューブラウザがサポートされています。 キューブラウザは、キューからメッセージを削除せず、単に検査だけ実行します。 そのため、キューブラウザは、キューのメッセージに影響を与えずキューを参照する場合に使用します。
このチュートリアルのP2Pの例は、次のリストのとおりです。
このサンプルプログラムでは、キュー送信者およびキュー受信者を使用したJMS P2Pモデルの使用を示します。 この例は、同期および非同期受信者の両方の使用方法を示します。 また、キューブラウザの使用方法も示します。
標準JMS APIでクライアントを設定する場合、ファクトリと宛先を解決し、接続、セッション、さらにクライアントオブジェクトを作成する必要があります。 JMS APIは、できるだけ簡単に設計されていますが、繰り返しコードが多数生成されることがあります。 jBroker MQ JMQMessageBeanは、メッセージコンシューマを簡単に作成できるAPIをサポートしています。