ブロックされているアクションの検出以外に、アクションがブロックされていることをプロトコルに通知することもできます。 ブロックされているエンジン・スレッドへの参照がアクションと共に提供されるので、プロトコルは、ブロックされているエンジン・スレッドにメッセージを送信することが可能になります。ブロックされているアクションが通知されると、プロトコルは、アクションの再試行、アクションの完了、次のアクションへの移動、仮想ユーザーによる実行の終了のいずれかを実行できます。
IKAction インターフェースは、ブロックされているアクション条件に対してプロトコルが反応するためのエントリー・ポイントとして、以下のメソッドを提供します。
public void blocked() blocked() を入力すると、KAction オブジェクトの状態は破壊される可能性があります。 プロトコルの作成者は、このアクションに関連付けられているいずれかまたはすべてのデータは安全でないと見なす必要があります。 さらに、execute() の実行中に保持されていたすべてのロックは、解放されています。
public long getBlockedTimeout()
ブロックされているアクションのタイムアウト値を返します。 デフォルトは 0 で、ブロックを無期限に続行するという意味です。
public WorkerThread getWorkerThread()
ブロックされている状態が検出されたときにアクションを実行しているエンジン WorkerThread を返します。
IEngine
Performance Test エンジン・インターフェースにより、public boolean createWorker() が追加されました。 createWorker() の目的は、ブロックされているアクションを実行していることが判明したワーカーを除去したことに対応して、標識スレッドのモニター・ワーカーがワーカーを新規に追加できるようにすることです。