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 primary instance with JNDI service on each. On each of these 5 servers, we also have a secondary instance running for some other HornetQ primary instance.
To illustrate:
Server A - HornetQa_primary, JNDI, HornetQb_secondary
Server B - HornetQb_primary, JNDI, HornetQc_secondary
Server C - HornetQc_primary, JNDI, HornetQd_secondary
Server D - HornetQd_primary, JNDI, HornetQe_secondary
Server E - HornetQe_primary, JNDI, HornetQa_secondary
Each of these HornetQ servers serve as middleware for our various backend needs, so that means 5 servers, 5 HornetQ primary instances, 5 HornetQ secondary 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 secondary. However, to resume as HornetQ primary, the HornetQa_secondary 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_secondary running on E has no way to talk to the JNDI on A, and thus, cannot resume as the primary process.
Had the JNDI service been highly available, the secondary HornetQ process could resume as primary as expected. Can anyone 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.