JAX-WS JMS 非同期応答メッセージ・リスナーの使用

Java™ API for XML-Based Web Services (JAX-WS) には、Java Message Service (JMS) 非同期応答メッセージ・リスナーが含まれています。これは、JMS トランスポートを使用する非同期 JAX-WS 要求に対する応答を受信するために使用されます。JMS 非同期応答メッセージ・リスナーは、アプリケーション・サーバーおよびアプリケーション・クライアント環境で使用されます。

始める前に

JAX-WS は、コールバック・モデルまたはポーリング・モデルのいずれかを使用することで、Web サービス・オペレーションの非同期呼び出しをサポートします。JAX-WS クライアントが JMS トランスポートを使用して非同期オペレーションを呼び出す場合、応答は非同期応答メッセージ・リスナーによって受信されます。 JAX-WS 非同期クライアント呼び出しモデルの使用方法については、JAX-WS Web サービスの非同期呼び出しに関する説明をご覧ください。

このタスクについて

JMS 非同期応答メッセージ・リスナーは、クライアント・アプリケーションが JMS トランスポートを使用している場合に、着信非同期応答を受信するために、Web サービス・クライアント環境内で使用されます。このリスナーが正しく機能するためには、接続ファクトリーとキューが必要です。 最初に、接続ファクトリーとキューを構成し、その後、Java システム・プロパティーを設定して、リスナーに対してその接続ファクトリーとキューの JNDI 名を指定します。クライアントが稼働する環境によって、システム・プロパティーの設定方法は異なります。

JMS 非同期応答メッセージ・リスナーは、JMS トランスポートを使用してクライアントが最初の JAX-WS オペレーションを呼び出したときに、Web サービス・クライアント・ランタイム環境により自動的に開始されます。

非同期応答メッセージ・リスナーで構成された接続ファクトリーとキューは、アプリケーション・サーバーやアプリケーション・クライアント・コンテナーに対する要求など、特定の Java プロセス内で呼び出されたすべての要求に使用されます。 接続ファクトリーは、さまざまな Java プロセスの間で共有できます。ただし、キューは、Java プロセス間で共有できません。

手順

  1. JAX-WS クライアントに JMS トランスポート・メカニズムを使用させるかどうかを決めます。
  2. 非同期 JAX-WS 要求のためのトランスポートとして JMS を使用する各 Java プロセスごとに、そのプロセス用に JMS 非同期応答リスナーによって使用される接続ファクトリーとキューを構成します。 接続ファクトリーは複数の Java プロセス間で共有できますが、キューは Java プロセス間で共有できません。
  3. Java プロセスごとに、システム・プロパティー com.ibm.websphere.webservices.jms.AsyncReplyQueueName および com.ibm.websphere.webservices.jms.AsyncReplyCFName Java を設定し、そのプロセス用に JMS 非同期応答メッセージ・リスナーによって使用されるキューと接続ファクトリーの JNDI 名を指定します。

    キューの JNDI 名がデフォルト値の jms/DefaultAsyncReplyQueue である場合は、AsyncReplyQueueName プロパティーを設定する必要はありません。同様に、接続ファクトリーの JNDI 名がデフォルト値の jms/DefaultAsyncReplyCF である場合も、AsyncReplyCFName プロパティーを設定する必要はありません。

    クライアントがアプリケーション・サーバー環境で稼働している場合は、管理コンソールまたは wsadmin コマンドを使用して、アプリケーション・サーバー・システムのプロパティーとしてプロパティーを設定します。

    クライアントがアプリケーション・クライアント・コンテナー環境で稼働している場合は、launchClient コマンド行の ?CCD オプションを使用して、プロパティーを設定する必要があります。

タスクの結果

JAX-WS Web サービス・クライアントは、JMS トランスポートを使用するときに、JMS 非同期応答メッセージ・リスナーを使用して非同期応答メッセージを受信するように構成されます。

ユーザーが、アプリケーション・クライアント・コンテナー環境で稼働している JAX-WS Web サービス・クライアントを持ち、JMS トランスポートを使用してサーバーと通信すると仮定します。また、クライアントが非同期 JAX-WS オペレーションを呼び出すと仮定します。ユーザーは、jms/MyAppCF という JNDI 名の接続ファクトリー、および jms/MyAppAsyncReplyQueue という JNDI 名のキューを作成できます。 launchClient コマンドを使用してクライアントを呼び出す場合、以下のコマンドで示すように、キューおよび接続ファクトリーの JNDI 名を指定します。
launchClient MyAppClient.ear ¥
   -CCDcom.ibm.websphere.webservices.jms.AsyncReplyQueueName=jms/MyAppReplyQueue ¥
   -CCDcom.ibm.websphere.webservices.jms.AsyncReplyCFName=jms/MyAppCF ¥
   <application arguments>

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_jmsasyncresplistener
ファイル名:twbs_jmsasyncresplistener.html