1 Reply Latest reply on May 18, 2012 8:38 AM by Rahat Ali

    JBoss 7.1.0 Cannot create session factory, server locator is closed

    jboss_sa Newbie

      Hi,,

      After leaving the server idle for a while we get the below error "Cannot create session factory, server locator is closed" and we are not be able to connect to the server "HornetQ" using JMS Client anymore, we are not able to put or get messages from the queues?

       

      I think it's related to server configuration, so I tried to change the server configuration, but no chance! "standalone.xml file is attached"

       

      Note that we are using jboss-client-7.1.0.Final.jar in our JMS Client Application.

       

      Server Error:

      06:46:31,271 WARN  [org.hornetq.core.protocol.core.impl.RemotingConnectionImpl] (hornetq-failure-check-thread) Connection failure has been detected: Did not receive data from invm:0. It is likely the client has exited or crashed without closing its connection, or the network between the server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information. The connection will now be closed. [code=3]

      06:46:31,276 WARN  [org.hornetq.core.server.impl.ServerSessionImpl] (hornetq-failure-check-thread) Client connection failed, clearing up resources for session 218278b7-7e69-11e1-bc23-180373bdc963

      06:46:31,278 WARN  [org.hornetq.core.server.impl.ServerSessionImpl] (hornetq-failure-check-thread) Cleared up resources for session 218278b7-7e69-11e1-bc23-180373bdc963

      06:46:31,277 WARN  [org.hornetq.ra.HornetQRAManagedConnection] (Thread-5866) Handling JMS exception failure: org.hornetq.ra.HornetQRAManagedConnection@1b55b1c: javax.jms.JMSException: HornetQException[errorCode=2 message=Channel disconnected]

                at org.hornetq.jms.client.HornetQConnection$JMSFailureListener.connectionFailed(HornetQConnection.java:655) [hornetq-jms-2.2.11.Final.jar:]

                at org.hornetq.core.client.impl.ClientSessionFactoryImpl.callFailureListeners(ClientSessionFactoryImpl.java:905) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.core.client.impl.ClientSessionFactoryImpl.failoverOrReconnect(ClientSessionFactoryImpl.java:690) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.core.client.impl.ClientSessionFactoryImpl.handleConnectionFailure(ClientSessionFactoryImpl.java:556) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.core.client.impl.ClientSessionFactoryImpl.access$000(ClientSessionFactoryImpl.java:79) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.core.client.impl.ClientSessionFactoryImpl$1.run(ClientSessionFactoryImpl.java:386) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.11.Final.jar:]

                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_25]

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_25]

                at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_25]

      Caused by: HornetQException[errorCode=2 message=Channel disconnected]

                at org.hornetq.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:380) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.core.remoting.impl.invm.InVMConnector$Listener$1.run(InVMConnector.java:203) [hornetq-core-2.2.11.Final.jar:]

                ... 4 more

       

      06:46:31,280 WARN  [org.hornetq.core.protocol.core.impl.RemotingConnectionImpl] (hornetq-failure-check-thread) Connection failure has been detected: Did not receive data from invm:0. It is likely the client has exited or crashed without closing its connection, or the network between the server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information. The connection will now be closed. [code=3]

      06:46:31,288 WARN  [org.hornetq.jms.server.recovery.HornetQXAResourceWrapper] (Thread-228 (HornetQ-client-global-threads-19613333)) Notified of connection failure in xa recovery connectionFactory for provider ClientSessionFactoryImpl [serverLocator=ServerLocatorImpl [initialConnectors=[org-hornetq-core-remoting-impl-invm-InVMConnectorFactory?server-id=0], discoveryGroupConfiguration=null], connectorConfig=org-hornetq-core-remoting-impl-invm-InVMConnectorFactory?server-id=0, backupConfig=null] will attempt reconnect on next pass: HornetQException[errorCode=2 message=Channel disconnected]

                at org.hornetq.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:380) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.core.remoting.impl.invm.InVMConnector$Listener$1.run(InVMConnector.java:203) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:100) [hornetq-core-2.2.11.Final.jar:]

                at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_25]

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_25]

                at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_25]

       

       

      08:40:00,597 WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR: javax.transaction.xa.XAException: Error trying to connect to any providers for xa recovery

                at org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.getDelegate(HornetQXAResourceWrapper.java:275) [hornetq-jms-2.2.11.Final.jar:]

                at org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.recover(HornetQXAResourceWrapper.java:77) [hornetq-jms-2.2.11.Final.jar:]

                at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:503) [jbossjts-4.16.2.Final.jar:]

                at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:471) [jbossjts-4.16.2.Final.jar:]

                at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:385) [jbossjts-4.16.2.Final.jar:]

                at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:166) [jbossjts-4.16.2.Final.jar:]

                at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [jbossjts-4.16.2.Final.jar:]

                at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [jbossjts-4.16.2.Final.jar:]

      Caused by: java.lang.IllegalStateException: Cannot create session factory, server locator is closed (maybe it has been garbage collected)

                at org.hornetq.core.client.impl.ServerLocatorImpl.assertOpen(ServerLocatorImpl.java:1823) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:699) [hornetq-core-2.2.11.Final.jar:]

                at org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.connect(HornetQXAResourceWrapper.java:321) [hornetq-jms-2.2.11.Final.jar:]

                at org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.getDelegate(HornetQXAResourceWrapper.java:251) [hornetq-jms-2.2.11.Final.jar:]

                ... 7 more

       

      08:40:58,684 INFO  [org.jboss.as.naming] (Remoting "new2-pc" task-3) JBAS011806: Channel end notification received, closing channel Channel ID 47e1eb49 (inbound) of Remoting connection 01b6872e to /192.168.95.97:16253

      08:41:08,305 ERROR [org.jboss.remoting.remote.connection] (Remoting "new2-pc" read-1) JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host

      08:41:08,310 ERROR [org.jboss.remoting.remote.connection] (Remoting "new2-pc" read-1) JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host

      08:41:08,316 ERROR [org.jboss.remoting.remote.connection] (Remoting "new2-pc" read-1) JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host

      08:41:08,334 ERROR [org.jboss.remoting.remote.connection] (Remoting "new2-pc" read-1) JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host

       

       

       

      JMS Client Exception:

      [JMSClient] [put] Exception: Failed to create session factory

      javax.jms.JMSException: Failed to create session factory

                at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:605)

                at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:119)

                at com.my.jms.client.main.JMSClient.put(JMSClient.java:72)

                at com.my.jms.client.main.MainWindows$1.actionPerformed(MainWindows.java:266)

                at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

                at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

                at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

                at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

                at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

                at java.awt.Component.processMouseEvent(Unknown Source)

                at javax.swing.JComponent.processMouseEvent(Unknown Source)

                at java.awt.Component.processEvent(Unknown Source)

                at java.awt.Container.processEvent(Unknown Source)

                at java.awt.Component.dispatchEventImpl(Unknown Source)

                at java.awt.Container.dispatchEventImpl(Unknown Source)

                at java.awt.Component.dispatchEvent(Unknown Source)

                at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

                at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

                at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

                at java.awt.Container.dispatchEventImpl(Unknown Source)

                at java.awt.Window.dispatchEventImpl(Unknown Source)

                at java.awt.Component.dispatchEvent(Unknown Source)

                at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

                at java.awt.EventQueue.access$000(Unknown Source)

                at java.awt.EventQueue$1.run(Unknown Source)

                at java.awt.EventQueue$1.run(Unknown Source)

                at java.security.AccessController.doPrivileged(Native Method)

                at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

                at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

                at java.awt.EventQueue$2.run(Unknown Source)

                at java.awt.EventQueue$2.run(Unknown Source)

                at java.security.AccessController.doPrivileged(Native Method)

                at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

                at java.awt.EventQueue.dispatchEvent(Unknown Source)

                at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

                at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

                at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

                at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

                at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

                at java.awt.EventDispatchThread.run(Unknown Source)

      Caused by: HornetQException[errorCode=2 message=Cannot connect to server(s). Tried with all available servers.]

                at org.hornetq.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:769)

                at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:601)

                ... 39 more

      07/04/2012 08:41:46 org.jboss.naming.remote.protocol.v1.RemoteNamingStoreV1$MessageReceiver handleEnd

      ERROR: Channel end notification received, closing channel Channel ID 94faade1 (outbound) of Remoting connection 00513d61 to /192.168.95.97:4447