2

キューからオブジェクトを受け取り、それを変換してトピックに公開するアプリケーションがあります。これは、かなりの数の内部 Bean を持つメッセージ駆動型 Bean (Spring) メッセージ リスナー コンテナーです。

最近、製品ボックスで奇妙なアクティビティが発生しました。これが同時実行の問題かどうかを確認したいと思います。これは素晴らしいことですが、私が以前にやったことではありません。

私のアプローチは、アプリケーションで大量のメッセージを送信することです。パブリッシング トピックをリッスンするソフトウェアを作成します。これらを消費し、オブジェクトの属性を期待される結果と比較する Junit テストに似た方法で処理します。

問題の範囲を少し広げるために上記を追加しましたが、基本的に、コードまたはIDEにプラグインしてそれを可能にするアプリケーションが市場に出回っています。これはJUNITの機能をやや超えていると思います

4

1 に答える 1

1

この種の演習には、JavaPathfinder (JPF)をお勧めします。

JPF基本的に、可能な限りあらゆる方法でコードの実行をシミュレートする JVM です。たとえば、バイトコード命令の可能なすべてのインターリーブをシミュレートします。JPF は、アプリケーションが入ることができる一連の可能な状態を調査し、定義済みのルール (例: 、など)model checkerに基づいてそれらを評価する として機能します。deadlock freenon-null

モデル チェッカーは通常、アプリケーションが複雑になりすぎると失敗しますが、JPF は状態空間全体を走査せずにアプリケーションを実行でき、通常は問題のある状態にすばやく到達できます。そちらを見てみてください。

于 2012-12-21T05:34:11.480 に答える