このセクションは、カスタム リスナーの追加方法について説明します。カスタムリスナーは、デフォルトでサポートされていないトランスポート上で、仮想アセットがメッセージを受信したり応答したりすることを可能にします。セクションの内容:
各仮想アセットのコンフィギュレーション パネルには、[トランスポート] > [カスタム] タブがあります。このタブは、グループに固有の要件を満たすメッセージ リスナーの実装を表示するようにカスタマイズできます。
カスタム メッセージ リスナーの実装が Virtualize にプラグインされると、仮想化フレームワークはレスポンス メッセージを生成できます。必要なプロトコル上の実際のメッセージの配信や受信は、メッセージ リスナーの実装によって処理されます。
Parasoft Marketplace (marketplace.parasoft.com または組織のCTP からアクセスできます ) には、TCP/IP、 FTP、および Equifax といったその他の固定長メッセージ タイプの例があります。
「拡張機能の追加: 基本手順」に記載のように、環境のセットアップが完了したら、次のインターフェイスを実装します ( 詳細については、『Extensibility API』ドキュメントを参照してください)。
これは必須クラスです。isReady()
は、構成が正しく設定されている場合は true を、そして必要な構成が設定されていない場合は false
を返すべきです。startup()
メソッドはリスナーがリスンを開始するべきときに呼び出されます。次の引数を受け取ります。
インスタンスが IMessageHandler.handleMessage()
の実装に受け入れられるように、このインターフェイスを実装する必要があります。あるいは、メッセージ コンテンツのフォーマットが文字列で表現されている場合は、デフォルトの実装である DefaultCustomMessage<T> を使用できます。パラメータライズされたタイプは、文字列に適したプロパティ (またはヘッダー) オブジェクト タイプに使用できます。
必要なクラスを実装したら、次のように parasoft-extension.xml (「拡張機能の追加: 基本手順」に記載) を定義します。
<?xml version="1.0" encoding="UTF-8"?> <extension xmlns="urn:com/parasoft/extensibility-framework/extension" type="messageListener" name='The name of your message listener, appears in the transports menu' description='A more detailed description'> <class>com.mycompany.MyMessageListener</class> <!-- implements ICustomMessageListener--> <form xmlns="urn:com/parasoft/extensibility-framework/gui"> <!-- This describes the fields you wish to appear in your transport GUI --> <section label="field group 1"> <field id="key 1" label="field 1"/> <field id="key 2" label="field 2"/> ... <section label="field group 2"> <field id="key 3" label="field 3" /> </section> <section label="field group 2"> <field label="field 1" /> ... </section> ... </form> </extension> |
section 要素の field id は、ICustomMessageListenerConfiguration インスタンスから値を取得するために使用されます。ICustomMessageListenerConfiguration インスタンスはさまざまな API メソッドに渡され、ユーザーが提供する値をユーザーの実装に渡すことを許可します。また、それらは保存されるときに、レスポンダー デプロイメント記述子ファイルにユーザーが提供する値を維持するために使用されます。フィールド ID は、この XML に基づいて構築された GUI に表示されます。セクション レイアウトはプログラムに影響を及ぼしません。エンド ユーザーが使用しやすいように、さまざまな GUI フィールドをセクションやカテゴリに整理します。
「拡張機能の追加: 基本手順」に記載のように、プロジェクトをビルドしたら Virtualize を再起動して、仮想アセット コンフィギュレーション パネルの [トランスポート] > [カスタム] タブに表示されるカスタム リスナー名 (parasoft-extension.xml
に指定したもの) を確認します (仮想アセット コンフィギュレーション パネルは、[Virtualize サーバー] ビューの仮想アセット ノードをダブルクリックして開きます)。
カスタム リスナーが 1 個だけの場合、[カスタム] タブはそのカスタム フォーマットの設定専用になります。
複数のカスタム リスナーがある場合、[実装の選択] ボックスで使用するリスナーを選択できます。
Parasoft Marketplace (marketplace.parasoft.com または組織のCTP からアクセスできます ) には、いくつかのカスタム メッセージ リスナーの実装があります。 それらの拡張をインストールして使用する方法については、zip ファイルに含まれるドキュメントを参照してください。
GUI フィールドをパスワード フィールド (入力がマスクされ、指定されたパスワードが安全に保存されます) にしたい場合、field 要素に password 属性を追加し、値を true に設定します。たとえば、次は pwd フィールドをパスワード モードにする例です。
<form xmlns="urn:com/parasoft/extensibility-framework/gui"> <section label="Main Settings"> <field id="usr" label="Username"/> <field id="pwd" label="Password" password="true"/> </section> </form> |