JMS Failover to Master node : SpyJMSException: Cannot authen
vgiguere Oct 30, 2008 11:02 AMHi,
I have an application using JMS in a clustered JBOSS environment.
My JMS service and queues are deployed as a singleton (deploy-hasingleton/jms/***) on every node (3) in the cluster.
PLEASE NOTE : Each node in the server has been tested alone and successfully deployed the JMS service (as the master node).
My problem is:
When I launch all nodes in my cluster, everything works fine, but if I kill the master node, the new master node is unable to provide the JMS service.
I am getting the following error:
org.jboss.mq.SpyJMSException: Cannot authenticate user; - nested throwable: (java.net.ConnectException: Connection refused) at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:72) at org.jboss.mq.SpyJMSException.rethrowAsJMSException(SpyJMSException.java:57) at org.jboss.mq.Connection.authenticate(Connection.java:1071) at org.jboss.mq.Connection.<init>(Connection.java:252) at org.jboss.mq.Connection.<init>(Connection.java:323) at org.jboss.mq.SpyConnection.<init>(SpyConnection.java:116) at org.jboss.mq.SpyConnectionFactory.internalCreateConnection(SpyConnectionFactory.java:137) at org.jboss.mq.SpyConnectionFactory.createConnection(SpyConnectionFactory.java:98) at org.springframework.jms.support.JmsAccessor.createConnection(JmsAccessor.java:188) at org.springframework.jms.listener.AbstractJmsListeningContainer.createSharedConnection(AbstractJmsListeningContainer.java:209) at org.springframework.jms.listener.AbstractJmsListeningContainer.refreshSharedConnection(AbstractJmsListeningContainer.java:197) at org.springframework.jms.listener.DefaultMessageListenerContainer.refreshConnectionUntilSuccessful(DefaultMessageListenerContainer.java:700) at org.springframework.jms.listener.DefaultMessageListenerContainer.recoverAfterListenerSetupFailure(DefaultMessageListenerContainer.java:682) at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:834) at java.lang.Thread.run(Thread.java:619) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.connect(Socket.java:469) at java.net.Socket.<init>(Socket.java:366) at java.net.Socket.<init>(Socket.java:180) at javax.net.DefaultSocketFactory.createSocket(SocketFactory.java:196) at org.jboss.mq.il.uil2.UILServerIL.createConnection(UILServerIL.java:497) at org.jboss.mq.il.uil2.UILServerIL.getSocketMgr(UILServerIL.java:390) at org.jboss.mq.il.uil2.UILServerIL.authenticate(UILServerIL.java:277) at org.jboss.mq.Connection.authenticate(Connection.java:1067) ... 12 more
Does anyone have an idea why JMS service is not deployed on the new master node when the cluster looses its master, even though each node can individually act as the master node?
Thanks in advance for your help.
Vincent Giguere
Environment information:
Jboss 4.2.3
Java 6 update 10
CENTOS 5.2