13 Replies Latest reply on Nov 16, 2008 5:55 PM by sanjoa

    One JUDDI, two JBoss ESB clusters

      I'm trying to figure out how to properly design the following plan.

      Two sets of JBoss ESB (A and B) clusters, with dedicated business services. One JUDDI registry running on one of the clusters.

      Now, both ESB's should register their services in the same uddi. This is so that e.g. ESB service in A can connect using ESB service in B using org.jboss.soa.esb.actions.ContentBasedRouter.

      Now the problem are those JBoss ESB internal services, like JBpmCallBackServ ice, DeadLetterService, InvokerService etc. When ESB cluster A starts up it registers all those interal services in the common uddi. Now when the ESB cluster B starts up, it adds it's own cluster information to the same services AccesPoints. Which sound pretty wrong.

      Is there documentation somewhere related to this? That would be great.

      There seems to be couple of ways to solve the problem;
      1) Configure the internal ESB services names per cluster. I've no idea how complicated this task is. E.g. if I're to rename InvokerService ESB service defined in jbossesb.esb/META-INF/jboss-esb.xml how do I tell the ESB to use that name when looking up for the InvokerService?

      2) Make the two clusters use different uddi business name so the services are registered under different names in the juddi. This would need additional work because JBoss ESB service lookup doesn't offer the possibility the give the Business name when doing looks?
      Maybe it'd be possible to add new query criteria to some of the routing services? Like adding new attribute to route-to.

      <route-to destination-name="dest1" business="clusterB" service-category="cate1" service-name="service1"/>

      3) Something else? Maybe the correct way ;)