JMS(一):JSM基礎を深く把握する
1.JMS基本概念 JMS(Java Message Service)は、Javaメッセージサービスです.標準的なメッセージの生成、送信、受信のためのインタフェースを提供し、企業 アプリケーションの開発を簡素化する.ポイント・ツー・ポイント(point-to-point)(P 2 P)モデルとパブリッシュ/サブスクリプション(Pub/sub)モデルの2つのメッセージ通信モデルをサポートします.P 2 Pモデルは、1つのメッセージに1人の受信者しかいないことを規定している.Pub/subモデルは、1つのメッセージに複数の受信者を許可する. ポイント・ツー・ポイント・モデルでは、メッセージ・プロバイダがメッセージを生成した後、このメッセージをQueue(キュー)に送信し、メッセージ受信者がこのQueueから読み出し、このメッセージが受信者によって読み出されると、このQueueでは消え、1つのメッセージは1つの受信者によってしか消費されません. ポイント・ツー・ポイント・モデルとは異なり、パブリッシュ/サブスクリプション・モデルでは、メッセージ・プロバイダがメッセージを生成した後、このメッセージを1つのTopicに送信します.このTopicは同時に複数の受信者が傍受することができ、1つのメッセージがこのTopicに到着すると、すべてのメッセージ受信者がこのメッセージを受信します.
簡単に言えば、ポイント・ツー・ポイント・モデルとパブリッシュ/サブスクリプション・モデルの違いは、前者が1対1であり、後者が1対多であることです.
2.いくつかの重要な概念 Destination :メッセージの送信先、つまり前述のQueueとTopicです.メッセージを作成した後、このメッセージを宛先に送信するだけで、メッセージの送信者は、メッセージが処理されるのを待つことなく、自分のことを続けることができます.このニュースがいつ、どの消費者に消費されるかは、メッセージの受信者にかかっている. Message :文字通り送信されたメッセージであることがわかります.次のタイプがあります. StreamMessage:Javaデータストリームメッセージは、標準ストリーム操作で順番に埋め込まれ、読み込まれます. MapMessage:Mapタイプのメッセージ.名前はstringタイプで、値はJavaの基本タイプです. TextMessage:Stringを含む通常の文字列メッセージ. ObjectMessage:シーケンス可能なJavaオブジェクトを含むオブジェクトメッセージ BytesMessage:byte[]を含むバイナリ配列メッセージ. XMLMessage: XMLタイプのメッセージ. 最もよく使われるのはTextMessageとObjectMessageです. Session: JMSプロバイダとのセッションは、SessionによってMessageを作成できます. Connection: JMSプロバイダとの接続.この接続からセッション、すなわちセッションを作成できます. ConnectionFactory: では、どうやってConnectionを作成しますか?次のConnectionFactoryが必要です.このファクトリクラスによりJMSプロバイダとの接続,すなわちConectionが得られる. Producer: メッセージの生産者は、メッセージを送信するには、この生産者を通じて送信する必要があります. MessageConsumer: 生産者に対応して、これはメッセージの消費者または受信者であり、それによってメッセージを受信する. JMSプロバイダについては、JMSが提供してくれたのは一連のインタフェースだけなので、JMSを使用するときは、本当に管理 のConnection、Session、Topic、Queueなどのサードパーティのプロバイダが必要です.
では、ConnectionFactoryとDestinationはどこで手に入れたのでしょうか. これはJMSプロバイダと関係があります.JavaEE環境ではJNDIで検索できますが、JavaEE環境ではない場合はJMSプロバイダが提供するインタフェースでしか入手できません.
簡単に言えば、ポイント・ツー・ポイント・モデルとパブリッシュ/サブスクリプション・モデルの違いは、前者が1対1であり、後者が1対多であることです.
2.いくつかの重要な概念 Destination :メッセージの送信先、つまり前述のQueueとTopicです.メッセージを作成した後、このメッセージを宛先に送信するだけで、メッセージの送信者は、メッセージが処理されるのを待つことなく、自分のことを続けることができます.このニュースがいつ、どの消費者に消費されるかは、メッセージの受信者にかかっている. Message :文字通り送信されたメッセージであることがわかります.次のタイプがあります. StreamMessage:Javaデータストリームメッセージは、標準ストリーム操作で順番に埋め込まれ、読み込まれます. MapMessage:Mapタイプのメッセージ.名前はstringタイプで、値はJavaの基本タイプです. TextMessage:Stringを含む通常の文字列メッセージ. ObjectMessage:シーケンス可能なJavaオブジェクトを含むオブジェクトメッセージ BytesMessage:byte[]を含むバイナリ配列メッセージ. XMLMessage: XMLタイプのメッセージ. 最もよく使われるのはTextMessageとObjectMessageです. Session: JMSプロバイダとのセッションは、SessionによってMessageを作成できます. Connection: JMSプロバイダとの接続.この接続からセッション、すなわちセッションを作成できます. ConnectionFactory: では、どうやってConnectionを作成しますか?次のConnectionFactoryが必要です.このファクトリクラスによりJMSプロバイダとの接続,すなわちConectionが得られる. Producer: メッセージの生産者は、メッセージを送信するには、この生産者を通じて送信する必要があります. MessageConsumer: 生産者に対応して、これはメッセージの消費者または受信者であり、それによってメッセージを受信する. JMSプロバイダについては、JMSが提供してくれたのは一連のインタフェースだけなので、JMSを使用するときは、本当に管理 のConnection、Session、Topic、Queueなどのサードパーティのプロバイダが必要です.
ConnectionFactory---->Connection--->Session--->Message
Destination + Session------------------------------------>Producer
Destination + Session------------------------------------>MessageConsumer
以下の略図から,これらの概念の関係を見ることができる.では、ConnectionFactoryとDestinationはどこで手に入れたのでしょうか. これはJMSプロバイダと関係があります.JavaEE環境ではJNDIで検索できますが、JavaEE環境ではない場合はJMSプロバイダが提供するインタフェースでしか入手できません.