Tenho uma aplicação que deve gerar uma mensagem que é o registro de todo o seu processamento, mas as partes da mensagem são geradas em diversos locais e não existe um ponto onde todas essas partes estejam disponíveis.
addField é chamado diversas vezes e tem uns outros metodos pra ir montando o conteúdo da mensagem.
Depois descobri que existe um pattern chamado Aggregator, nele diz que a base da solução é um stateful filter, mas eu não entendo minha solucao como um filtro (e stateful pra mim é singleton - j2se ), tem como fazer isso de um modo mais genérico? No meu caso minha aplicacao conhece onde gerar as partes da mensagem e o “gerador” sabe exatamente quais sao as partes da mensagem. Tá feio mas funciona, mas queria saber se tem como ser mais arrumadinho.
:roll: ehehehe, tá me complicando … pelo que vi o Builder é pra construir objetos enquanto o Aggregator é para mensagens (é um EAI), mas basicamente são a mesma coisa (tirando que o Aggregator tem que ser stateful já que mensagens são assíncronas e não seguem a sequência de montagem de um Builder).
O problema é que não achei uma descrição com diagrama ou mais detalhes do Aggregator (e não tenho o livro )
Então … é assim mesmo né? Tipo, não há uma saída genérica ou um modo de “montar” a mensagem sem estar amarrado ao contexto da aplicação (e colocar um monte de buildPart() no meio do código que tava tão bonitinho)
Meu deu um nó o cara falar em filter … não vi um filtro na minha solução.
EDITADO: o filtro estaria se ao invés de eu montar a mensagem antes do envio eu enviasse as mensagens separadas e montasse depois, pra isso eu teria um filtro pra selecionar as mensagens, certo?