Operaciones de dominio
Esta página lista las diversas operaciones que están disponibles a nivel de dominio global como llamadas a métodos estáticos.
passivate: Descargar un flujo de la memoria
Esto detendrá una instancia de flujo (incluso si no ha alcanzado un estado terminal) para ahorrar memoria, por ejemplo si se sabe que ha llegado a un paso de larga duración.
Ten en cuenta que los mensajes dirigidos a esta instancia seguirán entregándose, pero IPF volverá a cargar los eventos de ese flujo desde el journal en lugar de tenerlos ya en memoria.
La llamada es:
XxxDomain.passivate("MyBehaviour|some-id-23149082");
Donde Xxx es el nombre de la solución IPF que contiene el flujo relevante, y MyBehaviour es el nombre del propio flujo.
getAggregate: Obtener el aggregate (estado) de un flujo
Para recuperar el estado actual de una instancia de flujo, puedes llamar a:
XxxDomain.getAggregate("MyBehaviour|some-id-23149082");
Esto devolverá un CompletionStage<Aggregate>
que se completa cuando se devuelve el aggregate.
El Aggregate será del tipo MyBehaviourAggregate, que contendrá:
-
El estado actual
-
Los últimos reason code(s)/descripción(es) de fallos
-
Todos los business data
-
Todos los events
|
No uses Las llamadas a Si la carga es lo suficientemente significativa, el actor se verá cargado atendiendo solicitudes de Si ves que necesitas usar |
getStatus: Obtener el status de un flujo
Esta operación es similar a la anterior, pero solo devolverá el estado actual.
También devuelve un CompletionStage<AggregateStatus>.
Para recuperar el status:
XxxDomain.getStatus("MyBehaviour|some-id-23149082");
abort: Detener la ejecución de un flujo
Este comando toma un argumento reason y:
-
Establece el estado del flujo a
ABORTED -
Establece el resulting status a
Aborted -
Publica un
AbortedEventcon la razón especificada en la llamada -
Cancela todas las tareas programadas relacionadas con este flujo
Para abortar un flujo:
XxxDomain.abort("MyBehaviour|some-id-23149082", "some special reason");
Una vez que un flujo ha sido abortado, no puede reanudarse, ni siquiera con la función resume a continuación.
|
resume: Continuar la ejecución de un flujo
Esta operación invocará el proceso de action revival para un flujo con el fin de intentar mover a la siguiente etapa una transacción que parece estar atascada.
Ten en cuenta que esta operación no puede reanudar transacciones abortadas.
Para reanudar un flujo:
XxxDomain.resume("MyBehaviour|some-id-23149082");