JMS の導入

Java Message Service (JMS) 仕様では、メッセージを作成および送受信する一般的な方法を Java 開発者に提供する社内メッセージングミドルウェアシステムを構築するための API を定義します。JMS は、移植可能でなメッセージベースのビジネスアプリケーションをサポートします。JMS は MDB の基盤でもあります。

JRun は、JMS の完全サポートや、SonicMQ など外部の JMS プロバイダのサポートとビルトインの JMS プロバイダをシームレスに統合します。

この章では、JRun で提供される JMS サービスの使用方法について説明します。JMS をよく理解している方を対象としています。JMS の詳細については、http://java.sun.com で入手できる JMS 仕様を参照してください。

メッセージのタイプ

JRun JMS 実装では、Sun JMS バージョン 1.02b 仕様の ポイントツーポイント (キューベース) とパブリッシュ/サブスクライブ (トピックベース) の同期および非同期メッセージングがサポートされています。メッセージにはパーシスタンスを指定できるので、サーバのシャットダウン時にメッセージは失われません。

トピックベースのメッセージングでは、永続サブスクライブが使用可能です。これにより、サブスクライバがアクティブでないときに生成されるメッセージを含め、生成されるすべてのメッセージがクライアントにより確実に受信されるようになります。

用語集

この章では、プロデューサという用語はメッセージを送信するクライアントを表します。また、コンシューマという用語はメッセージを受信するクライアントを表します。ただし、コンシューマ、プロデューサは両方ともクライアントと呼びます。

ポイントツーポイントメッセージングでは、プロデューサはセンダー、コンシューマはレシーバーと呼びます。パブリッシュ/サブスクライブのメッセージングでは、プロデューサはパブリッシャ、コンシューマはサブスクライバと呼びます。

メッセージを生成または処理するために、クライアントは、サーバへの接続を確立し、Connection を呼び出して、Session を作成します。クライアントはサーバと対話し、以前に確立された Session オブジェクトを使用してメッセージを生成または処理します。ポイントツーポイントメッセージングとパブリッシュ/サブスクライブでは、Connection オブジェクトと Session オブジェクトのカスタマイズされた子オブジェクトが使用されます。