Class RoteadorEnviadores
java.lang.Object
br.com.xadm.comum.mensageria.RoteadorEnviadores
Indexa os
EnviadorMensagem do app por tipo() e resolve o despacho. Também é a fonte
dos tipos que o app roteia — o RelayM2m filtra a SAIDA por eles,
então o enviar(MensagemM2m) só recebe tipo que ESTE app registra em operação normal. O ramo
"sem enviador" abaixo é defensivo (loga erro claro e devolve ResultadoEnvio.semResposta(String),
nunca NPE): não deve disparar, porque o MensageriaService.enfileirar(String, String, String, String) já falha-rápido ao
enfileirar um tipo sem enviador local. Se disparar, é sinal de config/estado inesperado.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionResolve o enviador dotipoda mensagem e despacha.Ostipoque ESTE app sabe enviar (umEnviadorMensagemregistrado por tipo).
-
Constructor Details
-
RoteadorEnviadores
- Parameters:
enviadores- todos os beansEnviadorMensagemdo app (pode ser vazio).
-
-
Method Details
-
tiposRegistrados
Ostipoque ESTE app sabe enviar (umEnviadorMensagemregistrado por tipo). ORelayM2mfiltra a SAIDA por este conjunto: cada relay reivindica só o que roteia, então N apps podem dividir a MESMAmensagem_m2msem competir (cada tipo tem 1 remetente). Vazio = o app não envia nada (ex.: só recebe ENTRADA) → o relay é no-op. -
enviar
Resolve o enviador dotipoda mensagem e despacha.- Parameters:
m- a mensagem.- Returns:
- o resultado do enviador, ou
ResultadoEnvio.semResposta(String)se não houver enviador.
-