JBossESB 4.8 clustering (with shared jUDDI registry)
daniele.sacchetti Jul 27, 2010 10:40 AMI'm trying to implement the ESB clustering as described in the Architecture presented in Chaptyer 7 (Advanced Topics) of the JBossESB 4.8 Programmers Guide.
The first issue I'm facing is the setup of a jUDDI registry shared between two instances of JBoss ESB. I'm running two instances of jbossesb-server 4.8.
For the first I've just unzipped the distribution without any changes.
For the second instance I've modified the following configuration files:
-jbossesb-server-4.8/server/default/conf/jndi.properties
added aline:
java.naming.provider.url=jnp://172.17.4.31:1099
- jbossesb-server-4.8/server/default/deploy/jbossesb.sar/esb.juddi.client.xml
uncommented the RMI section
I start the first (IP address = 172.17.4.31) with command:
./run.sh -c default --host=0.0.0.0
I start the second with command:
./run.sh -Djboss.esb.bind.address=172.17.4.31 -c default --host=0.0.0.0
And on the console of the second instance I get the following exceptions:
16:27:56,335 WARN [ServiceController] Problem starting service jboss.jmx:type=adaptor,name=Invoker,protocol=jrmp,service=proxyFactory
javax.naming.NameAlreadyBoundException
16:27:43,771 WARN [ServiceController] Problem starting service jboss:service=proxyFactory,target=ClientUserTransactionFactory
javax.naming.NameAlreadyBoundException
16:28:04,021 ERROR [JNDIRegistration]
javax.naming.NameAlreadyBoundException; remaining name 'juddiv3'
16:28:05,095 ERROR [ExceptionUtil] Queue[/queue/DLQ] startService
javax.jms.InvalidDestinationException: Destination DLQ already exists
16:28:05,101 ERROR [ExceptionUtil] Queue[/queue/ExpiryQueue] startService
javax.jms.InvalidDestinationException: Destination ExpiryQueue already exists
16:28:05,121 ERROR [ExceptionUtil] Topic[/topic/testTopic] startService
javax.jms.InvalidDestinationException: Destination testTopic already exists
16:28:05,125 ERROR [ExceptionUtil] Topic[/topic/securedTopic] startService
javax.jms.InvalidDestinationException: Destination securedTopic already exists
16:28:05,145 ERROR [ExceptionUtil] Topic[/topic/testDurableTopic] startService
javax.jms.InvalidDestinationException: Destination testDurableTopic already exists
16:28:05,167 ERROR [ExceptionUtil] Queue[/queue/testQueue] startService
javax.jms.InvalidDestinationException: Destination testQueue already exists
.....
.....
16:28:05,258 ERROR [ExceptionUtil] Queue[/queue/PrivateDLQ] startService
javax.jms.InvalidDestinationException: Destination PrivateDLQ already exists
16:28:05,289 ERROR [ExceptionUtil] Queue[/queue/QueueWithOwnDLQAndExpiryQueue] startService
javax.jms.InvalidDestinationException: Destination QueueWithOwnDLQAndExpiryQueue already exists
16:28:12,149 ERROR [ExceptionUtil] Queue[/queue/DeadMessageQueue] startService
javax.jms.InvalidDestinationException: Destination DeadMessageQueue already exists
At the end of the startup phase of the second instance I get this message:
16:28:20,559 ERROR [URLDeploymentScanner] Incomplete Deployment listing:
16:28:21,168 ERROR [Server] Root deployment has missing dependencies; continuing Incomplete Deployment listing:
--- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
ObjectName: jboss.jmx:type=adaptor,name=Invoker,protocol=jrmp,service=proxyFactory
State: FAILED
Reason: javax.naming.NameAlreadyBoundException
I Depend On:
jboss:service=invoker,type=jrmp
jboss.jmx:type=adaptor,name=Invoker
jboss:service=Naming
Depends On Me:
jboss.admin:service=PluginManager
jboss.jmx:type=adaptor,name=MBeanProxyRemote,protocol=jrmp
ObjectName: jboss:service=proxyFactory,target=ClientUserTransactionFactory
State: FAILED
Reason: javax.naming.NameAlreadyBoundException
I Depend On:
jboss:service=invoker,type=unified
Depends On Me:
jboss:service=ClientUserTransaction
Are there any on line documents that could help me to properly implement my clustered architecture?
Am I missing any other configuration files to properly setup the connection between the two instances and the jUDDI registry?
Thank you,
Daniele