TL; DR
Quais são as etapas para configurar um serviço HA-JNDI com uma instalação do HornetQ? Acredito que a documentação esteja um pouco dispersa. Eu li os documentos aqui, mas não parece ilustrar em detalhes.
Versão mais longa:
Portanto, temos uma configuração do HornetQ JMS junto com o JNDI. Dizemos 5 servidores que executam a instância principal do HornetQ JMS com o serviço JNDI em cada um. Em cada um desses 5 servidores, também temos um escravo em execução para outro mestre do HornetQ.
Ilustrar:
Server A - HornetQa_master, JNDI, HornetQb_slave
Server B - HornetQb_master, JNDI, HornetQc_slave
Server C - HornetQc_master, JNDI, HornetQd_slave
Server D - HornetQd_master, JNDI, HornetQe_slave
Server E - HornetQe_master, JNDI, HornetQa_slave
Cada um desses servidores HornetQ serve como middleware para nossas diversas necessidades de back-end, o que significa 5 servidores, 5 instâncias principais do HornetQ, 5 instâncias escravas do HornetQ e 5 servidores JNDI. O problema, no entanto, com essa configuração é que, se um host do servidor (não apenas o processo, o próprio host) diz A, o ideal é que o serviço volte ao HornetQ em execução no servidor E que hospeda o escravo do HornetQ de A. No entanto, para continuar como mestre do HornetQ, o HornetQa_slave precisa conversar com o processo JNDI em execução no servidor A (presumo replicar mensagens). Como o host A está desativado, o HornetQa_slave em execução no E não tem como conversar com o JNDI em A e, portanto, não pode continuar como o processo mestre.
Se o serviço JNDI estivesse altamente disponível, o processo HornetQ escravo poderia ser retomado como mestre, conforme o esperado. Alguém poderia gentilmente apontar para os documentos ou ilustrar em etapas simples como podemos converter nossa configuração existente em um HA-JNDI? Pelo que vale, li várias fontes , mas isso não parece ilustrar em muitos detalhes como configurar a HA-JNDI. Entre em contato se precisar de mais informações sobre nossa configuração atual.