Class MensageriaService
java.lang.Object
br.com.xadm.comum.mensageria.MensageriaService
API do motor para os apps + transições de estado usadas pelo relay/tela. As transições rodam cada
uma em sua própria transação curta (chamadas cross-bean a partir do
RelayM2m), o que
garante o isolamento por mensagem: falha de uma linha não faz rollback das irmãs do lote.-
Constructor Summary
ConstructorsConstructorDescriptionMensageriaService(MensagemM2mRepository repositorio, MensageriaConfig config) -
Method Summary
Modifier and TypeMethodDescriptionvoidaplicarResultado(long id, ResultadoEnvio resultado) Aplica o resultado de um despacho (transação curta própria).voidcancelar(long id) Cancela (ação do operador):CANCELADO, o relay ignora.enfileirar(String tipo, String correlationId, String payload, String resumo) Enfileira uma mensagem de saída, participando da transação corrente do produtor (outbox transacional real): se a transação de negócio faz rollback, a mensagem não nasce.voidreenviar(long id) Reenvia (ação do operador): volta aPENDENTEe zeratentativas— o próximo tick do relay refaz o envio a partir dopayloadsalvo.registrarEntrada(String tipo, String correlationId, String payload, String resumo) Registra uma mensagem recebida para auditoria simétrica (ENTRADA/RECEBIDO).voidregistrarFalhaExcecao(long id, String mensagemErro) Registra a falha de uma exceção inesperada do enviador (transação curta própria): conta como tentativa e pode PAUSAR no teto.
-
Constructor Details
-
MensageriaService
-
-
Method Details
-
enfileirar
Enfileira uma mensagem de saída, participando da transação corrente do produtor (outbox transacional real): se a transação de negócio faz rollback, a mensagem não nasce.- Parameters:
tipo- discriminador de roteamento (resolve oEnviadorMensagem).correlationId- correlação/observabilidade (= request-id); não é chave de dedup.payload- JSON suficiente para remontar a chamada tipada no reenvio.resumo- texto curto legível para a tela.- Returns:
- a mensagem persistida (
SAIDA/PENDENTE).
-
registrarEntrada
public MensagemM2m registrarEntrada(String tipo, String correlationId, String payload, String resumo) Registra uma mensagem recebida para auditoria simétrica (ENTRADA/RECEBIDO). Sem retry — a idempotência do negócio é do receptor, não desta lib.- Returns:
- a linha de auditoria persistida.
-
aplicarResultado
Aplica o resultado de um despacho (transação curta própria). Sucesso →ENVIADO; falha →tentativas++eERRO, ouPAUSADO+ alarme ao atingir o teto. -
registrarFalhaExcecao
Registra a falha de uma exceção inesperada do enviador (transação curta própria): conta como tentativa e pode PAUSAR no teto. -
reenviar
public void reenviar(long id) Reenvia (ação do operador): volta aPENDENTEe zeratentativas— o próximo tick do relay refaz o envio a partir dopayloadsalvo. Só para linhas de saída. -
cancelar
public void cancelar(long id) Cancela (ação do operador):CANCELADO, o relay ignora. Só para linhas de saída.
-