Eventos

Evento de Fim de Compensação(Compensation End Event)

Encerra o caminho acionando a compensação de atividades previamente concluídas. Círculo grosso com setas de retrocesso.

O Fim de Compensação (Compensation End Event) é o irmão encerrador do lançamento de compensação: como ato final, o caminho exige o desfazer do trabalho anterior concluído. Típico em ramos de encerramento após falha: *terminamos por aqui — e revertam o que foi construído*.

Quando usar e evitar

Quando usar

  • Para encerrar caminhos de rejeição/aborto que também precisam desfazer passos anteriores.

  • Em fluxos estilo saga, sem o construto formal de transação.

  • Quando 'terminar' e 'compensar' coincidem — nenhum passo após o desfazer.

Quando NÃO usar

  • No meio do fluxo, com trabalho ainda a fazer depois de compensar — isso é o Lançamento de Compensação intermediário.

  • Quando nada concluído precisa ser desfeito.

  • Dentro de uma transação que será cancelada de toda forma — o Fim de Cancelamento já compensa.

Exemplo de negócio

Encerrando solicitação rejeitada e desfazendo reservas

Diagrama BPMN: Encerrando solicitação rejeitada e desfazendo reservas
Encerrando solicitação rejeitada e desfazendo reservas

Abra este exemplo no editor de processos da HEFLO e explore o diagrama por dentro.

Abrir no editor HEFLO →

Passo a passo

  1. Reservar hotel concluiu antes e registrou seu tratador de desfazer.
  2. O pagamento é recusado; o fluxo toma o ramo de rejeição.
  3. O gatilho de compensação (destacado) invoca os tratadores — a reserva é cancelada — e o caminho termina como rejeitado. Na forma de puro encerramento, o mesmo gatilho é desenhado como Fim de Compensação de borda grossa.

Diferenças

Fim de Compensação vs. Lançamento de Compensação (intermediário)

Mesmo gatilho, posição diferente: o intermediário compensa e continua; o fim compensa e encerra o caminho. Escolha pela existência de algo após o desfazer.

FAQ

Pode mirar uma atividade específica?

Sim — um evento de compensação pode referenciar uma única atividade a compensar, em vez do padrão 'tudo concluído no escopo'.

Ele espera os tratadores terminarem?

Conceitualmente a compensação faz parte da semântica do evento — os tratadores rodam antes de o escopo fechar de fato.

Elementos relacionados