このセクションの内容:
はじめに
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 からのインストール
- [Parasoft ] > [設定] を選択し、[システム プロパティ] をクリックします。
- [JAR の追加] をクリックし、com.parasoft.virtualize.listener.rabbitmq-<VERSION>.jar を選択します。jar ファイルがクラスパスに追加されると、必要なすべての依存ライブラリがロードされます。
- [適用] をクリックします。
- 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 サーバーのホスト名を指定します。フィールドが空の場合、デフォルト値 |
ポート | Rabbit MQ サーバーのポートを指定します。フィールドが空の場合、デフォルトの Rabbit MQ ポートが使用されます。 |
SSL の使用 | SSL を使用して Rabbit MQ サーバーに接続する場合、true を設定します。デフォルトは false です。 |
ユーザー名 | Rabbit MQ のユーザー名を指定します。 |
パスワード | Rabbit MQ のパスワードを指定します。 |
仮想ホスト名 | 接続する Rabbit MQ の仮想ホストを指定します。 |
自動接続リカバリー | 接続エラー時にリスナーが自動的にリカバリーを試みるようにするには、 |
トポロジー リカバリー | トポロジーのエラーが発生したとき (エクスチェンジまたはキューのエラーなど) にリスナーが自動的にリカバリーを試みるようにするには、 |
接続リスナー設定
オプション | 説明 |
---|---|
Listener Mode | [ パススルー モードでは、Listen Queue のメッセージは Forward Exchange Name で指定したエクスチェンジに転送されます。 仮想化モードでは、Listen Queue のメッセージは Virtualize に転送され、仮想レスポンスが生成されます。 |
Listen Queue | Virtualize がメッセージを処理するキューを定義します。空の場合、一時キューが作成されます。 |
Binding Exchange | 一時キューがバインドされるエクスチェンジを指定します。Listen Queue が空であるために一時キューを使用する場合にだけ適用されます。 |
Binding Key | 一時キューをエクスチェンジにバインディングするときに使用するバインディング キーを指定します。Listen Queue が空であるために一時キューを使用する場合にだけ適用されます。 |
Auto Ack | リスナー コンシューマーに処理するメッセージを自答的に確認応答させるには、 |
Consumer Tag | キューからのメッセージを処理する際に使用するコンシューマー タグを定義します。 |
Forward Exchange Name | Listen Queue のメッセージを転送する際に使用するエクスチェンジを定義します。このフィールドは、パススルー モードでだけ使用されます。 |
ReplyTo 設定
オプション | 説明 |
---|---|
ReplyTo Exchange | リプライを行うときに使用するエクスチェンジを定義します。このフィールドは仮想化モードでだけ使用されます。 |
ReplyTo Routing Key | リプライを行うときに使用するルーティング キーを定義します。このフィールドは仮想化モードでだけ使用されます。このフィールドの指定よりもリクエスト メッセージの reply-to が優先されます。 |
Generate ReplyTo Queue | レスポンスをパブリッシュする前に Reply To キューを作成する場合、 |
ReplyTo Queue Durability | Reply To キューを永続化する場合、 |
Autodelete ReplyTo Queue | Reply To キューを自動的に削除する場合、 |
ログ記録設定
オプション | 説明 |
---|---|
Log Level | リスナーのログ記録レベルを設定します。次の値が利用可能です。
デフォルト値は |