Try not to think in terms of ESBs communicating, but Services communicating. In that regard, you publish your services into the registry and consume them (use them) from other services or plain clients.
and to add to that... the trick is to have a "shared" registry between the ESBs, which effectively means configuring each ESB instance to use the same registry database. Once the reg is shared, the services are "shared" (if I can use that term ;-) )
This leads me to ask:
In my project, I can not guarantee that the all ESBs will be available all the time. Infact, it is pretty much a fact that at least one or more ESBs will not be available. Can I configure all the ESBs to have the same registry database? How is this dealt with when an ESB becomes available to the other ESBs after it has been down?
From what you guys are saying it looks like I need to get into the configuration xml files and figure out how to expose the services to more than one ESB. I guess I will need to make sure the endpoints don't always use localhost.
thanks for the help
The 4.3 release, coming real soon now, makes this very easy and we will shortly be releasing a release candidate. We are down to the last two remaining technical tasks before this can be done.
In the 4.3 configuration you would achieve this by not specifying the JNDI attributes on the transports, they would then be inherited from the configuration of the server in which they are running. The only remaining task would be to bind the server to an accessible IP address.
Until the 4.3 release I will work on figuring out how to share the registry and make services communicate. This should get me started. Any recommended quickstarts??
I have changed my jndi-URL in my jboss-esb.xml from localhost to the ip address of the box, but now I am getting a javax.naming.ServiceUnavailableException.
This is telling me that it can't match up my ip to jndi. What have I missed?