Eventos

Evento de Borda de Cancelamento(Cancel Boundary Event)

Anexado apenas a Subprocessos de Transação; captura o cancelamento da transação e roteia o caminho pós-cancelamento, depois que a compensação rodou. Círculo duplo com X.

A Borda de Cancelamento (Cancel Boundary Event) completa o protocolo de transação do BPMN: quando um Fim de Cancelamento dispara dentro da transação (ou um cancelamento externo chega), a transação para, os tratadores de compensação rodam automaticamente, e então o token sai por esta borda para o caminho pós-cancelamento.

Quando usar e evitar

Quando usar

  • Sempre em par com um Subprocesso de Transação — o único lugar onde pode ser anexada.

  • Para definir o desdobramento de negócio após a transação cancelada (comunicação de estorno, liberação de bloqueios).

  • Em domínios de reserva/pedido com semântica tudo-ou-nada.

Quando NÃO usar

  • Em atividades ou subprocessos comuns — inválida fora de transações.

  • Para falhas — isso é Erro; cancelamento é um aborto deliberado com compensação.

  • Quando não há nada a fazer após o cancelamento — a transação pode simplesmente encerrar cancelada.

Exemplo de negócio

Transação de reserva cancelada pelo cliente

Diagrama BPMN: Transação de reserva cancelada pelo cliente
Transação de reserva cancelada pelo cliente

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

Abrir no editor HEFLO →

Passo a passo

  1. A transação Reservar viagem reserva voo e hotel.
  2. O cliente desiste: o Fim de Cancelamento interno dispara e a compensação desfaz as reservas.
  3. A Borda de Cancelamento (destacada) então roteia para Liberar reservas e reembolsar, encerrando o caso como cancelado.

Diferenças

Cancelamento vs. Erro em uma transação

Cancelamento é o aborto protocolado: compensação primeiro, depois o caminho da borda de cancelamento. Uma borda de Erro na transação pula o protocolo de compensação — é falha, não cancelamento ordeiro.

FAQ

A compensação aqui é automática?

Sim — essa é a semântica especial das transações: no cancelamento, todas as atividades internas concluídas com tratador são compensadas antes de a borda disparar.

Uma borda de cancelamento pode ser não-interrompente?

Não. Cancelar, por definição, encerra a transação; a borda é sempre interrompente.

Elementos relacionados