このセクションの内容:

はじめに

Rabbit MQ Message Listener は、Parasoft Virtualize 用のカスタム メッセージ リスナー拡張です。リスナーは Rabbit MQ ブローカーに接続し、指定されたキューのメッセージを処理します。動作モード (パススルーまたは仮想化) に応じて、メッセージは実バックエンド システムまたは Virtualize に転送されます。リスナーは、パブリッシャーは Reply To フィールドを使用してレスポンス送信時に使用するキュー/ルーティング キーを定義していると仮定します。リスナーには、実行時に reply to キューを作成するオプションや、定義済みの reply to キューを使用するオプションもあります。

実装

Rabbit MQ Message Listener は、com.parasoft.virtualize.listener.rabbitmq-<VERSION>.jar として実装されており、Rabbit MQ AMQP Client 5.2.0 (amqp-client-5.2.0.jar) に依存します。この依存モジュールはディストリビューションにパッケージされています。

インストール

Rabbit MQ Message Listener は UI またはコマンドラインからインストールできます。

UI からのインストール

  1. [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
  2. [JAR の追加] をクリックし、com.parasoft.virtualize.listener.rabbitmq-<VERSION>.jar を選択します。jar ファイルがクラスパスに追加されると、必要なすべての依存ライブラリがロードされます。
  3. [適用] をクリックします。
  4. Virtualize を再起動します。

コマンドラインからのインストール

設定プロパティ ファイルの system.properties.classpath プロパティに com.parasoft.virtualize.listener.rabbitmq-<VERSION>.jar ファイルを追加します。

例:

system.properties.classpath=<PATH_TO_JAR>/com.parasoft.virtualize.listener.rabbitmq-1.0.1.jar

クラスパスを変更すると、必要なすべての依存ライブラリがロードされます。

使用方法

リスナーを使用するには、Rabbit MQ サーバーで追加の設定を行う必要があります。

標準構成

上記は標準的な Rabbit MQ の構成です。Publisher は Exchange を通じてメッセージをパブリッシュします。Exchange は、Consumer がリスンしている適切な Message Queue にメッセージをルーティングします。Consumer はメッセージを処理し、Default Exchange を通じて Publisher が定義した Reply To Queue にレスポンスを渡します。構成に Virtualize を含めるには、同一の Virtual Host 内に同一の設定 (名前を除く) で Exchange と Message Queue を複製する必要があります。

追加の Exchange と Message Queue を設定したら、新しい Exchange を指すよう Publisher の設定を変更するか、新しい Message Queue を指すよう Consumer の設定を変更し、Virtualize が仲介者として振る舞い、Consumer へのメッセージ キューへのメッセージを転送したり、Virtual Asset にメッセージを転送して仮想レスポンスを返したり、Publisher に直接応答できるようにします。

Publisher サイドの仮想化構成

Consumer サイドの仮想化構成

サーバーで追加のコンポーネントを構成し、Virtualize にリスナーをインストールしたら、仮想アセット設定パネルでリスナーを選択して設定できます。

Virtualize サーバー ビューでカスタム メッセージ リスナーとして使用する仮想アセットを選択し、[仮想アセット デプロイメント] 設定で [トランスポート] > [カスタム] を選択します。複数のリスナーがインストールされている場合、[実装の選択] メニューを使用して com.parasoft.virtualize.listener.rabbitmq.RabbitMQListener を選択します。

以下の設定を行うことができます。

接続設定

オプション

説明

ホスト名

Rabbit MQ サーバーのホスト名を指定します。フィールドが空の場合、デフォルト値 localhost が使用されます。

ポート

Rabbit MQ サーバーのポートを指定します。フィールドが空の場合、デフォルトの Rabbit MQ ポートが使用されます。

SSL の使用SSL を使用して Rabbit MQ サーバーに接続する場合、true を設定します。デフォルトは false です。

ユーザー名

Rabbit MQ のユーザー名を指定します。

パスワード

Rabbit MQ のパスワードを指定します。

仮想ホスト名

接続する Rabbit MQ の仮想ホストを指定します。

自動接続リカバリー

接続エラー時にリスナーが自動的にリカバリーを試みるようにするには、true を設定します。デフォルトは true です。

トポロジー リカバリー

トポロジーのエラーが発生したとき (エクスチェンジまたはキューのエラーなど) にリスナーが自動的にリカバリーを試みるようにするには、true を設定します。デフォルトは true です。

接続リスナー設定

オプション

説明

Listener Mode

[パススルー] または [仮想化] モードを指定できます。

パススルー モードでは、Listen Queue のメッセージは Forward Exchange Name で指定したエクスチェンジに転送されます。

仮想化モードでは、Listen Queue のメッセージは Virtualize に転送され、仮想レスポンスが生成されます。

Listen Queue

Virtualize がメッセージを処理するキューを定義します。空の場合、一時キューが作成されます。

Binding Exchange一時キューがバインドされるエクスチェンジを指定します。Listen Queue が空であるために一時キューを使用する場合にだけ適用されます。
Binding Key一時キューをエクスチェンジにバインディングするときに使用するバインディング キーを指定します。Listen Queue が空であるために一時キューを使用する場合にだけ適用されます。

Auto Ack

リスナー コンシューマーに処理するメッセージを自答的に確認応答させるには、true を設定します。false を設定すると、別の方法でメッセージの確認応答をする必要があります。そうしなければメッセージはキューに残ったままになります。

Consumer Tag

キューからのメッセージを処理する際に使用するコンシューマー タグを定義します。

Forward Exchange Name

Listen Queue のメッセージを転送する際に使用するエクスチェンジを定義します。このフィールドは、パススルー モードでだけ使用されます。

ReplyTo 設定

オプション

説明

ReplyTo Exchangeリプライを行うときに使用するエクスチェンジを定義します。このフィールドは仮想化モードでだけ使用されます。
ReplyTo Routing Keyリプライを行うときに使用するルーティング キーを定義します。このフィールドは仮想化モードでだけ使用されます。このフィールドの指定よりもリクエスト メッセージの reply-to が優先されます。

Generate ReplyTo Queue

レスポンスをパブリッシュする前に Reply To キューを作成する場合、true を設定します。このフィールドは仮想化モードでだけ使用されます。

ReplyTo Queue Durability

Reply To キューを永続化する場合、true を設定します。永続キューとは、サーバーを再起動しても残るキューです。このフィールドは仮想化モードで Generate ReplyTo Queue が true の場合にだけ使用されます。

Autodelete ReplyTo Queue

Reply To キューを自動的に削除する場合、true を設定します。自動削除キューは、キューのすべてのメッセージが処理されたあとに削除されます。このフィールドは仮想化モードで Generate ReplyTo Queue が true の場合にだけ使用されます。

ログ記録設定

オプション

説明

Log Level

リスナーのログ記録レベルを設定します。次の値が利用可能です。

1 - エラー

2 - 警告

3 - 通知

4 - デバッグ

デフォルト値は 3 です。

  • No labels