JMSクライアントアプリケーションが物理格納先にメッセージを送受信するための準備について説明します。
JMSリソース(JMS接続ファクトリおよびJMS送信先リソース)および物理格納先を作成します。
JMS接続ファクトリおよびJMS送信先リソースは、asadminコマンドのcreate-jms-resourceサブコマンドで作成します。
物理格納先の作成については、「2.19.3 物理格納先の管理」を参照してください。
JMSホストを設定します。詳細については、「JMSホストの設定」を参照してください。
JMS接続ファクトリ
JMS接続ファクトリ(Connection Factory)とは、JMSクライアントアプリケーションとメッセージブローカとのコネクションを確立するために必要なオブジェクトです。JMS規約で規定された以下のインタフェースのいずれかを実装したオブジェクトを作成してJNDIに登録します。
javax.jms.ConnectionFactory
javax.jms.QueueConnectionFactory
javax.jms.TopicConnectionFactory
登録したJMS接続ファクトリは、JNDIを経由してJMSクライアントアプリケーションで利用可能です。JMSクライアントアプリケーションは、獲得したJMS接続ファクトリに対して、JMS規約で規定されたAPIを発行し、メッセージブローカとのコネクションを確立します。
JMS接続ファクトリの登録/変更/削除は、asadminコマンドを使用して行います。asadminコマンドの詳細については、「9.1 asadmin」を参照してください。
また、JMS接続ファクトリの登録/変更時に必要となる定義項目の詳細については、「7.5.3 JMS接続ファクトリの定義項目」を参照してください。
注意
同一のJMS接続ファクトリを使用してメッセージブローカに接続する場合、接続は同一トランザクション範囲内で共有されません。deployment descriptorのres-sharing-scope要素に「Shareable」を指定した場合、「Unshareable」として定義されます。
IJServerクラスタ上で、Publish/Subscribeメッセージングモデルを使用したJMSクライアントアプリケーションの運用を行う場合は、JMS接続ファクトリの追加プロパティとして、必ずClientIdを設定してください。
JMS送信先リソース
JMS送信先リソース(Destination)とは、JMSクライアントアプリケーションと物理格納先との接続方法を指定します。JMS規約で規定された以下のインタフェースのいずれかを実装したオブジェクトを作成してJNDIに登録します。
javax.jms.Topic
javax.jms.Queue
登録したJMS送信先リソースは、JNDIを経由してアプリケーションで利用可能となります。JMSクライアントアプリケーションは、獲得した送信先リソースに対して、JMS規約で規定されたAPIを発行し、メッセージブローカとのコネクションを確立します。
JMS送信先リソースの登録/変更/削除は、asadminコマンドを使用して行います。asadminコマンドの詳細については、「9.1 asadmin」を参照してください。
また、JMS送信先リソースの登録/変更時に必要となる定義項目の詳細については、「7.5.4 JMS送信先リソースの定義項目」を参照してください。
JMSホストの設定
JMSホストには、メッセージブローカが動作しているシステムを指定します。
JMSホストの設定は、asadminコマンドを使用して行います。asadminコマンドの詳細については、「9.1.4 定義項目参照/更新」を参照してください。
また、設定時に必要となる定義項目の詳細については、「7.7.10 JMSサービスの定義項目」を参照してください。
JMSリソースとJMSホストの関係
JMSクライアントアプリケーションがアクセスするInterstage Java EE 6 DASサービス/IJServerクラスタのJMSホストの設定によって、メッセージを送受信するメッセージブローカが決まります。
JMSクライアントアプリケーションは、JMS接続ファクトリおよびJMS送信先リソースの参照時に、JMSホストを取得してメッセージブローカに接続します。
注意
JMSホストには、JMSクライアントアプリケーションが動作する環境において、名前解決のできるホスト名またはIPアドレスを設定してください。
JMSホストに、ローカルホストを示す「localhost」や「127.0.0.1」を設定した場合は、JMSクライアントアプリケーションが動作する環境のメッセージブローカに接続します。
例
JMSクライアントアプリケーションの使用例を運用形態ごとに示します。
■メッセージブローカをREMOTE運用している場合
■メッセージブローカをEMBEDDED運用している場合