Además de detectar acciones bloqueadas, un protocolo puede recibir una notificación de que la acción está bloqueada. Junto con la acción se proporciona una referencia a la hebra bloqueada del motor, lo que permite al protocolo enviar un mensaje a la hebra bloqueada. Tras la notificación de que una acción se ha bloqueado, el protocolo puede reintentar la acción, finalizarla y pasar a la siguiente acción o finalizar la ejecución del usuario virtual.
La interfaz IKAction proporcionará el método siguiente como punto de entrada para que los protocolos reaccione en una condición de acción bloqueada:
public void blocked(). El estado de objeto KAction, al entrar blocked(), se corrompe potencialmente. El grabador del protocolo debe presuponer que puede haber algún dato asociado a la acción que no esté seguro o que no haya ninguno que esté seguro. Asimismo, se liberan los bloqueos que se puedan haber producido durante execute().
public long getBlockedTimeout()
Devuelve el valor de tiempo de espera excedido de la acción bloqueada. El valor predeterminado es 0, que significa que se ha producido un bloqueo indefinido
public WorkerThread getWorkerThread()
Devuelve la hebra Engine WorkerThread que estaba ejecutando la acción cuando se detectó el estado de bloqueo.
IEngine
La interfaz del motor de pruebas de rendimiento ha añadido public boolean createWorker(). El objetivo de createWorker() es permitir a los elementos funcionales que supervisan las hebras centinela añadir elementos funcionales adicionales como respuesta a haber tenido que retirar elementos funcionales que estaban ejecutando acciones bloqueadas.