[jboss-user] [Clustering/JBoss] - Sessions Not Replicating on Cluster

mohancheema do-not-reply at jboss.com
Wed Dec 12 06:18:22 EST 2007


I am trying to cluster 2 JBOSS instances running on different server. The cluster deploy works fine without any problem. If I take one server down it is removed from the cluster. If I start the server it is added in cluster without any problem. I have Configured external Load Balancer using mod-jk. However, it is not replicating sessions on cluster. i.e. If I am accessing the web app on load balanced URL and shutdown the server on which request is going I again get the login page instead of session being continuous. When checked the logs I get following error.

 
  | 2007-12-12 13:47:47,823 DEBUG [org.jboss.web.tomcat.tc5.session.JBossCacheManager] check to see if needs to store and replicate session with id 7ksk372cFlBERMrPe6AG-Q**.node1
  | 2007-12-12 13:47:47,845 ERROR [org.jboss.web.tomcat.tc5.session.JBossCacheService] externalizeSession(): exception occurred externalizing session SessionBasedClusteredSession[id: 7ksk372cFlBERMrPe6AG-Q**.node1 lastAccessedTime: 1197447467014 version: 5 lastOutdated: 0]
  | java.io.NotSerializableException: org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1251)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
  |         at java.util.Hashtable.writeObject(Hashtable.java:813)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |         at java.lang.reflect.Method.invoke(Method.java:585)
  |         at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
  |         at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
  |         at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
  |         at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
  |         at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
  |         at org.jboss.web.tomcat.tc5.session.SessionBasedClusteredSession.writeExternal(SessionBasedClusteredSession.java:175)
  |         at org.jboss.web.tomcat.tc5.session.JBossCacheService.externalizeSession(JBossCacheService.java:902)
  |         at org.jboss.web.tomcat.tc5.session.JBossCacheService.putSession(JBossCacheService.java:348)
  |         at org.jboss.web.tomcat.tc5.session.JBossCacheClusteredSession.processSessionRepl(JBossCacheClusteredSession.java:122)
  |         at org.jboss.web.tomcat.tc5.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:994)
  |         at org.jboss.web.tomcat.tc5.session.JBossCacheManager.storeSession(JBossCacheManager.java:637)
  |         at org.jboss.web.tomcat.tc5.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:52)
  |         at org.jboss.web.tomcat.tc5.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:105)
  |         at org.jboss.web.tomcat.tc5.session.JvmRouteValve.invoke(JvmRouteValve.java:84)
  |         at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
  |         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |         at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:153)
  |         at org.jboss.web.tomcat.tc5.sso.ClusteredSingleSignOn.invoke(ClusteredSingleSignOn.java:461)
  |         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  |         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  |         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
  |         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
  |         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
  |         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
  |         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
  |         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
  |         at java.lang.Thread.run(Thread.java:595)
  |  

Could this be the problem.

Any guidance and help will be helpful.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4112220#4112220

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4112220



More information about the jboss-user mailing list