Olá.
Primeiramente eu gostaria de parabenizá-los pelo conteúdo do curso, realmente fiquei bastante satisfeito com o conteúdo e didática aplicada.
Muito provavelmente irei aplicar esta solução de integração em um cenário que tenho em mãos, mas fiquei apenas com "receio" sobre a disponibilidade do ActiveMQ.
No meu cenário de integração, o sistema A deve enviar todo e qualquer recurso financeiro lançado para um outro sistema B. O motivo para isto é que o sistema B trabalha com uma "descentralização" deste recurso. Ou seja, todo recurso lançado no sistema A deve ser enviado para o sistema B para sua devida descentralização.
Com isto em mente, devo ter em mãos a garantia de entrega da mensagem, com persistência das mensagens e até mesmo uso de prioridade e autenticação.
No caso citado, acredito que o número de mensagens enviadas é realmente baixo (100 por hora), mas o que devemos fazer caso na tentativa de envio da mensagem do sistema A para ActiveMQ aconteça um problema?
Exemplo: Sistema A envia a mensagem para o ActiveMQ, porém o ActiveMQ está offline. O que o sistema A deve fazer? Dar rollback na transação?
Na verdade não sei nem se a preocupação deveria ser no sistema A dar rollback na transação quando o ActiveMQ estiver indisponível, talvez devo pensar nisto como uma exceção rara, e me preocupar com clustering deste ActiveMQ, o que vocês acham? Seria o caso onde mesmo com poucas requisições seria ideal o clustering devido a necessidade de garantia de entrega da mensagem?
Muito obrigado.