このセクションでは、MQ トランスポートでメッセージを送受信するメッセージ プロキシの設定方法を説明します。このセクションの内容:
「必要な JAR ファイルをクラスパスへ追加」を参照してください。
キューを介してトラフィックが交換される場合、「クライアント アプリケーションが宛先キューにリクエストを送信し、サーバー アプリケーションがキューからメッセージを受信する」と想定します。サーバーは、クライアントが受信する応答メッセージを 2 番目のキューに送信します。このシナリオでは、メッセージ プロキシはクライアントとサーバー間の「中間者」として機能し、仲介を促進するためにメッセージング プロバイダーにさらに 2 つのキューが必要です。Parasoft プロキシは、クライアントがメッセージを配置するキューからメッセージを取得し、内容を記録して (記録を有効にしている場合のみ)、サーバーがメッセージを受信するキューに配置します。同様に、クライアントがメッセージを取得するためのキューにサーバーがメッセージを送信すると、メッセージを記録して (記録が有効化されている場合)、クライアントが返信レスポンスを期待しているキューにメッセージを戻します。
結果として、2 つの追加のキューと、以下のどちらかの操作が必要になります。
2 つのアプリケーション キューのうち 1 つだけを修正する必要があります。
さまざまな状況で記録を設定するためのヒントについては、「トラフィックの記録におけるキューの設定」を参照してください。 |
次の手順で MQ 設定を指定します。
「Using Global Queue Managers」で説明するように定義済みのキュー マネージャーを参照するのではなく、このパネルでクライアントとサーバーのキューを定義している場合、[ローカル設定] エリアでサーバーの詳細を入力します。
単一プロキシ内で複数のキュー マネージャーへの接続を設定したい場合 ( たとえば、プロキシ接続で、2 つの異なるキュー マネージャー上でデプロイされる 2 つのキューを使用したい場合)、使用するキューごとにグローバル キュー マネージャーを作成し、プロキシの設定時に適切なキューマネージャーを選択します。 |
クライアントとサーバーのキューを指定します。このパネルの [ ローカル設定] オプションで接続ごとに設定を入力するか、サーバー レベルで定義されたグローバル キュー マネージャーを参照することができます (詳細については「Using Global Queue Managers」を参照してください)。
サーバーの [接続] タブ で SSL 構成を含む Virtualize サーバーで MQ キューを定義し、ドロップダウンメニューからグローバル キュー マネージャーを選択して設定をプロキシに適用できます。SSL 構成は、ローカル設定の構成ではサポートされていません。 |
Virtualize または SOAtestは、クライアントの PUT キューに送信されたメッセージをキャプチャし、処理のためにサーバーの PUT キューに転送します。サーバーの GET キューは、 (リクエスト メッセージの処理の後で) サーバーがレスポンス メッセージを置くキューです。これらのメッセージはキャプチャされ、クライアントの GET キューに転送されます。
プロキシがキューをオープンしたりサーバーの PUT キューにメッセージをプットしたりするときに使用されるオプションフラグをカスタマイズしたい場合、JVM システム プロパティ parasoft.proxy.mq.put.open.options
および parasoft.proxy.mq.put.options
を、Virtualize または SOAtest が起動するときに指定できます。たとえば、MQMD ヘッダー putApplicationName のためのカスタマイズされた値がメッセージにあるものとします。キューのopen.options で MQOO_SET_ALL_CONTEXT フラグを設定し、put.options で MQPMO_SET_ALL_CONTEXT フラグを設定すると、メッセージ プロキシはカスタマイズされた putApplicationName ヘッダー値を転送することができます。
オプションフラグの値については、IBM の mq_queue_get_open_options およびmq_message_put_options パラメーターを参照してください。例:
soatest.exe -J-Dparasoft.proxy.mq.put.open.options=2052 -J-Dparasoft.proxy.mq.put.options=2064 |
さまざまな状況で記録を設定するためのヒントについては、「トラフィックの記録におけるキューの設定」を参照してください。 |
オプションが有効であり、MQMD.replyToQueueManagerName と MQMD.replyToQueueName の両方の値が指定されている場合、これらの値によって、キュー マネージャーとレスポンスの送信先のキュー名の両方が決定されます。
必要に応じて [ワーカーのカウント] の設定を変更します。
各ワーカーが MQ プロバイダーに独自の接続を作成します。たとえば、20 のワーカーがある場合、WebSphere MQ Explorer では、メッセージ プロキシがリスンするリクエスト (GET) キューの Open input count 列の値として 20 が表示されるはずです。) キューの Open input count 列の値として 20 が表示されるはずです。デフォルト値の 1 より多いワーカーのカウントでプロキシがデプロイ/再デプロイされると、コンソールに「Started x listener(s)」というメッセージが表示されます (x には構成されたワーカー数が入ります)。 ワーカーのカウントを増やすことは並列時のパフォーマンスに役立ちます。プロキシのメッセージ処理チェーン全体が並列化され、各ワーカーのスレッドは他のスレッドと並行してメッセージ応答条件、レスポンス メッセージの生成などを行います。しかし、高いワーカーのカウントを提供すると、作成/破棄する接続が増えるため、プロキシのデプロイ/アンデプロイ/再デプロイに時間が掛かります。また、 MQ インフラストラクチャに許可する同時接続数の制限を持たせることが可能です。ユーザーのインフラストラクチャで構成/許可された数を越えるべきではありません。 ワーカー カウント機能は、Tomcat server.xmlの maxThreads 属性と同等です。 server.xml ファイルを調整するには:
|
デフォルト モードを使用する場合、以下のフィールドを設定します。
オプション | 説明 |
---|---|
ホスト | IBM MQ を実行しているホストの名前を指定します。 |
ポート | IBM MQ が実行中のポートを指定します。 |
チャネル | サーバー定義チャネルの名前を指定します。 |
キュー マネージャー | キュー マネージャーの名前を指定します。 |
ユーザー名/パスワード | 必要な場合、入力します。 |
CCDT モードを使用している場合、以下のフィールドを設定します。
ローカルサーバーの場合:
リモートサーバーの場合:
オプション | 説明 |
---|---|
CCDT ファイル | CCDT ファイル (拡張子 .tab) の場所を指定します。 プロキシがリモート サーバーでデプロイされる場合、テキスト フィールドを使って、サーバー ツリーの [ワークスペース ファイル] ノードに表示されるときと同じように、CCDT ファイルへの相対パスを指定します。 ローカル サーバーでプロキシがデプロイされる場合、[ファイル システム] または [ワークスペース] ボタンを使ってファイルの場所を指定できます。現在ローカル サーバーでデプロイされているが後でリモート サーバーでデプロイするプロキシを設定する場合、リモート サーバーにプロキシをデプロイする前に、そのリモート サーバーに CCDT ファイルをデプロイする必要があります。詳細については「リモート サーバーとローカル マシン間でのファイル転送」を参照してください。 |
キュー マネージャー | キュー マネージャーの名前を指定します。 |
ユーザー名/パスワード | 必要な場合、入力します。 |
多くの場合、Virtualize が MQ キュー マネージャーの接続に使用するデフォルトの CCSID で問題ありません。しかし、別の CCSID を使用するよう MQ キュー マネージャーが設定されている場合、CCSID がキュー マネージャーによってサポートされていないという通知を受け取るでしょう。
MQ キュー マネージャーの接続に使用するデフォルトの CCSID を変更するには、JVM 引数で次のシステム プロパティを設定します。
parasoft.mq.environment.ccsid=<CCSID>
設定する CCSID は、キュー マネージャーの CCSID、および JVM がサポートする文字セットによって異なります。
「その他の設定」も参照してください。
特定の Virtualize サーバー全体に適用されるグローバル キュー マネージャーの設定は、サーバー レベルで定義し、ここで参照することができます。 詳細については「 [接続] タブ」を参照してください。グローバル キュー マネージャーを使用するには、適切な [キュー] ボックスから選択します。MQ サーバーは、hostname: queue manager name
の命名規則を使用してリストされます。
定義済みのグローバル キュー マネージャーの詳細を確認するには、[設定の表示] をクリックします。
さまざまな状況で記録を設定するためのヒントについては、「トラフィックの記録におけるキューの設定」を参照してください。