Eventos

Evento de Fim de Cancelamento(Cancel End Event)

Usado apenas dentro de um Subprocesso de Transação: encerra a transação cancelando-a, o que dispara a compensação dos passos concluídos. Círculo grosso com X.

O Fim de Cancelamento (Cancel End Event) aborta deliberadamente a transação envolvente: alcançá-lo significa *desfaça tudo que esta transação fez*. O motor executa os tratadores de compensação de todas as atividades internas concluídas e sai da transação pela sua Borda de Cancelamento.

Quando usar e evitar

Quando usar

  • Dentro de transações, em caminhos onde o negócio decide abortar (cliente desiste, pré-requisito falha).

  • Em reservas/pedidos tudo-ou-nada em que resultados parciais nunca podem sobreviver.

  • Junto com uma Borda de Cancelamento na transação para definir o pós-cancelamento.

Quando NÃO usar

  • Fora de um Subprocesso de Transação — inválido em qualquer outro lugar.

  • Para falhas — Fim de Erro (que pula o protocolo ordeiro de compensação).

  • Quando os passos concluídos devem ser mantidos — apenas encerre o caminho normalmente.

Exemplo de negócio

Cliente aborta a transação de reserva

Diagrama BPMN: Cliente aborta a transação de reserva
Cliente aborta a transação de reserva

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

Abrir no editor HEFLO →

Passo a passo

  1. Dentro da transação Reservar viagem, as reservas são feitas.
  2. O cliente desiste: o Fim de Cancelamento (destacado) dispara.
  3. A compensação desfaz as reservas concluídas; o token sai pela Borda de Cancelamento para o caminho de reembolso.

Diferenças

Fim de Cancelamento vs. Fim de Erro dentro da transação

Cancelamento = aborto ordeiro: compensação roda, o caminho da borda de cancelamento segue. Erro = falha: capturado por borda de erro, sem compensação automática. Desistência do negócio → Cancelamento; falha → Erro.

FAQ

O que exatamente é compensado?

Toda atividade da transação que havia concluído e declarado tratador de compensação — em ordem reversa.

A Borda de Cancelamento na transação é obrigatória?

Na prática, sim — sem ela o cancelamento não tem para onde rotear o desdobramento.

Elementos relacionados