How to enable failover in ServiceInvoker in SOA-P 5.x?

Solution In Progress - Updated -

Issue

We are using ServiceInvoker to call ESB services remotely from a web application. We have two SOA platforms configured in a cluster, so we would like to connect to either one of them, without having to code failover in the client, in case one of the SOA instances is not running.

In our application classpath we have configured jbossesb-properties.xml and uddi.xml:

  • In jbossesb.properties we have configured the property with one server url:
  <property name="org.jboss.soa.esb.jndi.server.url" value="host1"/>
  • In uddi.xml we have configured both nodes as:
 <javaNamingProviderUrl>jnp://host1:1099,jnp://host2:1099</javaNamingProviderUrl>

In case the server specified in org.jboss.soa.esb.jndi.server.url is up everything works as expected and the requests made using ServicInvoker are evenly balanced between the two instances. But if we stop the server specified in org.jboss.soa.esb.jndi.server.url, ServiceInvoker can't connect. As soon as we restart this server, everything works again.

It seems the problems is in jbossesb.properties.xml - how is it possible to specify two or more servers in the 'org.jboss.soa.esb.jndi.server.url' property?

Environment

  • Red Hat JBoss SOA Platform
    • 5.3.1

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.