このセクションでは、JMS トランスポートでメッセージを送受信するメッセージ プロキシの設定方法を説明します。
このセクションの内容
JMS 必要条件
JNDI
「JMS の前提条件」を参照してください。
キューの割り当て
キューを介してトラフィックが交換される場合、「クライアント アプリケーションが宛先キューにリクエストを送信し、サーバー アプリケーションがキューからメッセージを受信する」と想定します。サーバーは、クライアントが受信する応答メッセージを 2 番目のキューに送信します。このシナリオでは、メッセージ プロキシはクライアントとサーバー間の「中間者」として機能し、仲介を促進するためにメッセージング プロバイダーにさらに 2 つのキューが必要です。Parasoft プロキシは、クライアントがメッセージを配置するキューからメッセージを取得し、内容を記録して (記録を有効にしている場合のみ)、サーバーがメッセージを受信するキューに配置します。同様に、サーバーはプロキシが取得しに行くキューにメッセージを送信し、プロキシはそのメッセージを記録し (記録を有効にしている場合のみ)、クライアントが返信レスポンスを受信するキューに配置します。
結果として、 2 つの追加キューの割り当てと、次のいずれかが必要となります。
- クライアント アプリケーションを調整し、これら 2 つの新しいキューと通信するようにする (プロキシ接続を構成して調整)。
- サーバー アプリケーションを調整し、別のキューを 2 つの使用するようにする。
2 つのアプリケーション キューのうち 1 つだけを修正する必要があります。
JMS 設定の指定
次の手順で JMS 設定を指定します。
- [プロキシ接続設定] ダイアログの [プロキシ タイプ] で JMS を選択します。
- JMS のタイプ (キュー/ポイントツーポイント/パブリッシュアンドサブスクライブ) を指定します。
「Using Global JMS Connections」で説明するように定義済みのグローバル JMS 設定を参照するのではなく、このパネルで接続設定を定義している場合、[ローカル設定] エリアで JMS プロバイダーの詳細を入力します。[プロバイダー URL]、[初期コンテキストクラス]、[接続ファクトリ] (クラスパスに関連する JAR ファイルを追加すること) を指定できるほか、[認証] および適用したい [追加の初期コンテキスト JNDI プロパティ] を指定できます。
単一プロキシで複数の JMS 接続を使用する
単一プロキシ内で複数の JMS サーバーへの接続を設定したい場合 (たとえば、プロキシ接続で、2 つの異なる JMS サーバー上でデプロイされる 2 つのキューを使用したい場合)、接続ごとにグローバル JMS 接続を作成し、プロキシの設定時に適切な接続を選択します。
- 接続の詳細を指定します。次に、このパネルで (ローカル設定オプションを介して) 接続ごとの設定を入力するか、あるいはサーバー レベルで定義されたグローバル JMS 接続を参照できます。
キュー (Point-to-Point):Virtualize は、クライアントの接続先キューに送信されたメッセージを取得し、サーバーがそれらのメッセージを処理できるよう、サーバーの Reply to キューにフォワードします。サーバーの [キューの宛先] は、サーバーがレスポンス メッセージを設置する (リクエスト メッセージの処理の後で) キューです。Virtualize はこれらのメッセージをキャプチャし、クライアントの [キューの返信先] に転送します。
キューの設定の詳細
さまざまな状況で記録を設定するためのヒントについては、「トラフィックの記録におけるキューの設定」を参照してください。
トピック ( パブリッシュアンドサブスクライブ): Virtualize はクライアントの [サブスクライブ トピック] 上の着信リクエストおよびサーバーの [パブリッシュ トピック] 上の送信レスポンスをモニターします。
- 必要に応じて [レスポンスに JMSReplyTo を使用する] の設定を変更します。この設定は、どこでプロキシがレスポンスを送るかを決定するためにメッセージの JMSReplyToQueueName ヘッダーを使用するかどうかを指定します。
- 有効な場合、受信リクエストからの値を使ってレスポンスの送信先が決定されます。
- 無効な場合、レスポンスは GUI で指定されたキューに送られます。JMS メッセージヘッダーの値は無視されます。
- 必要に応じて [ワーカーのカウント] の設定を変更します。
ワーカーのカウントを調整する
各ワーカーが JMS プロバイダーに独自の接続を作成します。デフォルト値の 1 より多いワーカーのカウントでプロキシがデプロイ/再デプロイされると、コンソールに「Started x listener(s)」というメッセージが表示されます (x には構成されたワーカー数が入ります)。
ワーカーのカウントを増やすことは並列時のパフォーマンスに役立ちます。プロキシのメッセージ処理チェーン全体が並列化され、各ワーカーのスレッドは他のスレッドと並行してメッセージ応答条件、レスポンス メッセージの生成などを行います。しかし、高いワーカーのカウントを提供すると、作成/破棄する接続が増えるため、プロキシのデプロイ/アンデプロイ/再デプロイに時間が掛かります。また、 JMS プロバイダーに許可する同時接続数の制限を持たせることが可能です。ユーザーのインフラストラクチャで構成/許可された数を越えるべきではありません。
ワーカー カウント機能は、Tomcat server.xml の maxThreads 属性と同等です。このファイルは次のディレクトリにあります。<INSTALL>/plugins/com.parasoft.ptest.libs.web_<VERSION>/root/tomcat/conf/server.xml高い数の同時仮想ユーザーを使用するとき (つまり負荷テスト中など)、通常はこれらの値を増やすことでより良いパフォーマンスを期待できます。
グローバル JMS 接続の使用
特定の SOAtest/Virtualize サーバー全体に適用されるグローバル JMS の設定は、サーバー レベルで定義し、これらの設定で参照することができます。詳細については「[接続] タブ」を参照してください。
グローバル JMS 接続を使用するには、適切な [キュー] または [トピック] ボックスから選択します。
定義済みのグローバル接続の詳細を参照するには、[ 設定の表示] をクリックします。
キューの設定の詳細
さまざまな状況で記録を設定するためのヒントについては、「トラフィックの記録におけるキューの設定」を参照してください。