Package br.com.xadm.comum.mensageria


package br.com.xadm.comum.mensageria
xadm-mensageria — entrega garantida M2M via outbox transacional (ADR 0019, raiz/004, Fase 3 da iniciativa libs+contrato). Generaliza o padrão bom do encerramento (int-sascar) em capacidade reusável da casa: uma tabela genérica (MensagemM2m), um relay @Scheduled com backoff/teto/PAUSADO (RelayM2m), uma SPI de envio tipado (EnviadorMensagem) que cada app implementa chamando o @Client gerado do OpenAPI, e uma tela /admin/mensageria (MensageriaController) restrita a admin @xadm.com.br (MensageriaAdminRule).

O motor é agnóstico de domínio; o dispatch é tipado (um bean EnviadorMensagem por tipo, no app). Semântica AT-LEAST-ONCE: sob N instâncias o relay pode despachar em dobro — o receptor deduplica por chave natural de negócio (a lib não faz dedup nem lock de linha). Schema é owned pelo app (sem Flyway na lib); o DDL canônico é publicado em db/mensagem_m2m.postgres.sql.