おい、ハブル!
これは私の前編です そして同時に記事のリメイク .
今回は、IBM WAS でアプリケーションを適切にテストするために JMeter と IBM MQ を調整した私の経験についてお話します。 私はそのような仕事に直面しましたが、それは簡単ではありませんでした。 興味のある皆様の時間を節約したいと考えています。

導入
プロジェクトについて: データ バス、多数の XML メッセージ、XNUMX つの交換領域 (キュー、データベース、ファイル システム)、独自のメッセージ処理ロジックを備えた Web サービス。 プロジェクトが進むにつれて、手動テストはますます困難になってきました。 Apache JMeter が救助に呼ばれました。大規模なユーザー コミュニティとフレンドリーなインターフェイスを備えた、強力でオープン ソースです。 すぐに使えるバージョンのカスタマイズの容易さにより、あらゆるケースに対応でき、リード開発者のサポートが約束されています。 もしあれば (それは役に立ちました)最終的に私の選択を確認しました。
初期コンテキストの準備
キュー マネージャーと対話するには、初期コンテキストが必要です。 いくつか種類がありますが、こちら もっと読むことができます。
作成するには、MQ Explorer を使用すると便利です。

図 1: 初期コンテキストの追加
コンテキスト ファイルの種類と保存ディレクトリを選択します .バインディング JNDI オブジェクトの説明を含むファイル:

図 2: 初期コンテキスト タイプの選択
その後、これらのオブジェクトの作成を開始できます。 そして、接続ファクトリーから始めます。

図 3: 接続ファクトリーの作成
親しみやすい名前を選択してください...

図 4: 接続ファクトリ名の選択
...そして入力してください キュー接続ファクトリー:

図 5: 接続ファクトリーのタイプの選択
プロトコル - MQ クライアント MQ とリモートで対話できるようにするには、次のようにします。

図 6: コネクション ファクトリ プロトコルの選択
次のステップでは、既存のファクトリを選択し、そこからさらに設定をコピーできます。 クリック 次へ何もない場合:

図 7: 既存の接続ファクトリーの設定の選択
パラメータ選択ウィンドウでは、XNUMX つを指定するだけで十分です。 タブ上 接続 キューマネージャーの名前と IP スタンドをその場所 (ポート) とともに示します。 1414 離れる):

図 8: コネクション ファクトリ パラメータの構成
そしてタブ上で チャネル — 接続用のチャネル。 クリック 仕上げ 完了するには:

図 9: 接続ファクトリーの作成の完了
次に、キューへの接続を作成しましょう。

図 10: ターゲット オブジェクトの作成
わかりやすい名前を選択して (キューの実際の名前を示すことをお勧めします)、次のように入力します。 キュー:

図 11: ターゲット名とタイプの選択
類推すると 図7 既存のキューから設定をコピーできます。 こちらもクリックしてください 次へ、最初の場合:

図 12: 既存のターゲットの設定の選択
設定ウィンドウで、マネージャーの名前と目的のキューを選択し、クリックします。 仕上げ。 次に、JMeter との対話に必要なすべてのキューが作成されるまで、必要な回数繰り返します。

図 13: ターゲットの作成の完了
JMeter の準備
JMeter の準備には、MQ との対話に必要なライブラリの追加が含まれます。 これらは %wmq_home%/java/lib にあります。 JMeter を起動する前に、これらを %jmeter_home%/lib/ext にコピーします。
- com.ibm.mq.commonservices.jar
- com.ibm.mq.headers.jar
- com.ibm.mq.jar
- com.ibm.mq.jmqi.jar
- com.ibm.mq.pcf.jar
- com.ibm.mqjms.jar
- dhbcore.jar
- fscontext.jar
- jms.jar
- jta.jar
- プロバイダーユーティリティ.jar
代替リストの提案 в 少しニュアンスが異なります: jms.jar の代わりに javax.jms-api-2.0.jar。
jms.jar でエラー NoClassDEfFoundError が発生する、私が見つけた解決策 .
- com.ibm.mq.allclient.jar
- fscontext.jar
- javax.jms-api-2.0.jar
- プロバイダーユーティリティ.jar
両方のライブラリーのリストは、JMeter 5.0 および IBM MQ 8.0.0.4 で正常に動作します。
テスト計画のセットアップ
必要かつ十分な JMeter 要素のセットは次のようになります。

図 14: テスト計画
テスト計画例には XNUMX つの変数があります。 数は少ないですが、変数の種類ごとに個別の構成要素を作成することをお勧めします。 テストが拡大するにつれて、これによりナビゲーションがはるかに簡単になります。 この場合、XNUMX つのリストが得られます。 最初のパラメータには、MQ に接続するためのパラメータが含まれています (「. 図2 и 図4):

図 15: MQ 接続オプション
XNUMX 番目は、キューを参照するターゲット オブジェクトの名前です。

図 16: パラメータ化されたキュー名
残っているのは、テスト メッセージを送信キューにロードするように JMS Publisher を構成することだけです。

図 17: JMS パブリッシャーのセットアップ
そして、JMS サブスクライバーは受信キューからメッセージを読み取ります。

図 18: JMS サブスクライバの構成
すべてが正しく行われた場合、リスナー内の実行結果は明るく陽気な緑色で満たされます。
まとめ
ルーティングと管理の問題は、別の出版物としてかなり親密で広範囲にわたるトピックであるため、意図的に省略しました。
さらに、キュー、データベース、ファイルの操作には微妙な部分が大きくありますが、これについても個別に詳しく説明したいと思います。
時間を節約しましょう。 ご清聴ありがとうございました。

出所: habr.com
