TL;DR
What are the steps to configure a HA-JNDI service with a HornetQ setup? I believe the documentation is a little scattered. I have read through the docs here but doesn't seem to illustrate in detail.
Longer version:
So we have a HornetQ JMS setup along with JNDI. We have say 5 servers, that run the HornetQ JMS master instance with JNDI service on each. On each of these 5 servers, we also have a slave running for some other HornetQ master.
To illustrate:
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
Each of these HornetQ servers serve as middleware for our various backend needs, so that means 5 servers, 5 HornetQ master instances, 5 HornetQ slave instances and 5 JNDI servers. The problem, however, with this setup is that if a server host (not just the process, the host itself), say A goes down, ideally the service should fallback to the HornetQ running on server E which hosts A's HornetQ slave. However, to resume as HornetQ master, the HornetQa_slave needs to talk to the JNDI process running on server A (I presume to replicate messages). Since the host A is itself down, the HornetQa_slave running on E has no way to talk to the JNDI on A, and thus, cannot resume as the master process.
Had the JNDI service been highly available, the slave HornetQ process could resume as master as expected. Could anyone kindly point to the docs or illustrate in simple steps how we could convert our existing setup to a HA-JNDI? For what it's worth, I have read multiple sources, but it doesn't seem to illustrate in much detail about how to get going with configuring a HA-JNDI. Please let me know if you need more info about our current setup.