ページの先頭行へ戻る
Interstage Application Server Java EE運用ガイド(Java EE 6編)
Interstage

3.12 JMSの提供機能

Interstage JMSが提供している以下の機能について説明します。

メッセージングモデル

Interstage JMSでは、メッセージングモデルとして、以下のモデルをサポートしています。


Publish/Subscribeメッセージングモデル(1対nメッセージングモデル)

複数の受信者に対して同一のメッセージを配信する1対nのメッセージングモデルです。

  • 複数の受信者に対して同一のメッセージを配信
    メッセージブローカを介して、プロデューサとコンシューマが連携します。

  • Durable Subscription
    アプリケーションがアクティブではない間に送信されたメッセージを、アプリケーションがアクティブになった後に受信できます。

  • コンシューマの形態として、待機型とMessage Listenerを使用した起動型をサポート

  • メッセージの優先度および生存時間の制御

Publish/Subscribeメッセージングモデルを使用した場合の効果を以下に示します。

  • 複数のコンシューマに配信
    プロデューサは、1つの宛先にメッセージを送信することにより、接続しているコンシューマの数を意識することなく、複数のコンシューマに同一のメッセージを配信できます。

  • 運用変更によるアプリケーションへの影響が少ない
    コンシューマの増減に対して、プロデューサを変更する必要はありません。


Point-To-Pointメッセージングモデル(1対1メッセージングモデル)

特定の受信者に対してメッセージを配信する1対1のメッセージングモデルです。

  • 1拠点から1拠点への非同期通信
    メッセージブローカを介して、プロデューサとコンシューマが連携します。
    複数のコンシューマが接続している場合、メッセージを受信できるのは1つのコンシューマだけです。メッセージは、自動的に振り分けられます。

  • コンシューマの形態として、待機型とMessage Listenerを使用した起動型をサポート

  • メッセージの優先度および生存時間の制御

Point-To-Pointメッセージングモデルを使用した場合の効果を以下に示します。

  • 運用性向上
    Publish/Subscribeメッセージングモデルでは、コンシューマの生成前に配信されたメッセージは破棄されます。
    しかし、Point-To-Pointメッセージングモデルでは、コンシューマの状態にかかわらず配信されたメッセージが物理格納先に蓄積され、コンシューマを生成した後に蓄積されたメッセージを受信できます。


メッセージング機能

Interstage JMSのメッセージング機能として、以下の機能をサポートしています。


メッセージ保証

メッセージの不揮発化機能、およびローカルトランザクション機能により、メッセージの重複/欠落を防止します。グローバルトランザクション機能により、メッセージの送受信とDB更新などの処理と整合性を保証します。


メッセージセレクタ機能

メッセージセレクタ機能は、プロデューサから送られる多様なメッセージの中から、コンシューマが受信したいメッセージを指定して受け取ることができる機能です。

プロデューサでは、メッセージを識別/分類するための情報をメッセージのプロパティフィールドに設定し、メッセージを送信します。
コンシューマでは、受信開始時に受信したいメッセージを特定するための条件式を指定します。以降、コンシューマは、条件式に一致したプロパティを持つメッセージだけを受信します。

Publish/Subscribeメッセージングモデルでは、条件式に一致しないメッセージは破棄されます。Point-To-Pointメッセージングモデルでは、条件式に一致しないメッセージは読み飛ばされます。

メッセージセレクタ機能を使用した場合の効果を以下に示します。

  • コンシューマが興味のある情報だけを取得可能
    プロデューサが送信したすべてのメッセージを受信することなく、コンシューマが興味のあるメッセージだけを受信でき、運用性が向上します。

    プロデューサが国際/社会/政治/経済/天気予報/スポーツ/芸能などのジャンルのニュースを送信する場合、あるコンシューマは、天気予報/スポーツなどの特定の情報だけを受信できます。


キューブラウザ機能

キューブラウザ機能は、アプリケーションがキュー(物理格納先)に蓄積されているメッセージをブラウジングするための機能です。
ブラウジング中にキューからメッセージを取り出しても、メッセージは削除されません。
キューブラウザ機能を使用することにより、キューの内容を表示する機能を持ったアプリケーションの開発が容易になります。
本機能は、Point-To-Pointメッセージングモデル(1対1メッセージングモデル)において使用できます。


メッセージブローカ機能

Interstage JMSでは、メッセージブローカを使用して、非同期メッセージ通信を実現しています。詳細については、「3.12.1 メッセージブローカ」以降の説明を参照してください。