Operaciones de Dominio
Esta página enumera las diversas operaciones que están disponibles a nivel de dominio global como llamadas a métodos estáticos.
passivate Descargue un flujo de la memoria
Esto detendrá una instancia de flujo (incluso si no ha alcanzado un estado terminal) para ahorrar memoria, si se sabe que ha llegado a un paso de larga duración, por ejemplo.
Tenga en cuenta que los mensajes dirigidos a esta instancia aún se entregarán, pero IPF recargará los eventos de ese flujo desde el diario en lugar de tenerlos ya almacenados en memoria.
La llamada es:
XxxDomain.passivate("MyBehaviour|some-id-23149082");
Dónde Xxx es el nombre de la IPF solution conteniendo el flujo relevante, y MyBehaviour es el nombre del flujo en sí.
getAggregate: Obtenga el agregado (estado) de un flujo
Para recuperar el estado actual de una instancia de flujo, puede llamar a:
XxxDomain.getAggregate("MyBehaviour|some-id-23149082");
Esto devolverá un CompletionStage<Aggregate>
que se completa cuando se devuelve el agregado.
El Aggregate será del tipo MyBehaviourAggregate que contendrá:
-
El estado actual
-
El último código(s)/descripción(es) de razón de fallo
-
Todos los datos empresariales
-
Todos los eventos
No utilice `getAggregate` como parte del procesamiento de un flujo (por ejemplo, como parte de una implementación de adaptador). Esto ralentizará el procesamiento de manera considerable, especialmente cuando esté bajo carga.
Si la carga es lo suficientemente significativa, el actor estará sobrecargado por el servicio. Si encuentra que necesita utilizar |
getStatus: Obtenga el estado de un flujo
Esta operación es similar a la anterior, pero solo devolverá el estado actual.
También devuelve como un CompletionStage<AggregateStatus>.
Para recuperar el estado:
XxxDomain.getStatus("MyBehaviour|some-id-23149082");
abort: Detenga la ejecución de un flujo
Este comando toma un reason argumento y:
-
Establece el estado del flujo a
ABORTED -
Establece el estado resultante 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 ser reanudado, incluso con el resume función a continuación.
|
resume: Continúe la ejecución de un flujo
Esta operación invocará el revitalización de la acción proceso para un flujo que intenta mover una transacción que parece estar atascada al siguiente estado.
Tenga en cuenta que esta operación no puede reanudar transacciones abortadas.
Para reanudar un flujo:
XxxDomain.resume("MyBehaviour|some-id-23149082");