I have a situation where I want to connect my MDB to a remote topic on a separate, multi-homed server. The remote server has two nodes with the same IP, running on different sets of ports. The topic I am subscribing to is only deployed on one of the nodes, as is the uil2-service.xml (call it node1) file
(in /server/node1/deploy-hasingleton/jms)
I used
http://wiki.jboss.org/wiki/Wiki.jsp?page=HowDoIConfigureAnMDBToTalkToARemoteQueue
to configure the MDB. The provider URL in my jms-ds.xml jndi properties specifies the JNDI port of node1 and it works as long as node1 is started up first on the multi-homed server.
The problem is that node1 is not always started up first and I want it to work even if node1 is started up last. If the node2 is started first, I get the error that UIL2XAConnectionFactory is not bound. I think this makes sense because my MDB is connecting the JNDI port of just node1 in the remote cluster, rather than the cluster as a whole - and node1 doesn't have uil2-service.xml in its deploy dir (because node2 already does).
So, if that's the case, what is the best practice for remotely connecting to a topic on a multi-homed clustered environment? What should my JNDI properties be in the jms-ds.xml to connect in this situation?