0 Replies Latest reply on Sep 25, 2007 7:20 PM by alesj

    Seam + Drools + cluster --> exception

    alesj

      I get this exception when running Seam (from trunk) app on 2 node cluster:

      > 00:32:41,671 ERROR [JBossCacheService] externalizeSession(): exception occurred externalizing session SessionBasedClusteredSession[id: 5XJ7uzVaRLgcoyC3gDwY1A**.node1 lastAccessedTime: 1190759558593 version: 1 lastOutdated: 0]
      > java.io.NotSerializableException: org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction
      > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
      > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
      > at java.util.ArrayList.writeObject(ArrayList.java:569)
      > 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.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.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1380)
      > 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.service.session.SessionBasedClusteredSession.writeExternal(SessionBasedClusteredSession.java:175)
      > at org.jboss.web.tomcat.service.session.JBossCacheService.externalizeSession(JBossCacheService.java:1027)
      > at org.jboss.web.tomcat.service.session.JBossCacheService.putSession(JBossCacheService.java:316)
      > at org.jboss.web.tomcat.service.session.JBossCacheClusteredSession.processSessionRepl(JBossCacheClusteredSession.java:121)
      > at org.jboss.web.tomcat.service.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:1097)
      > at org.jboss.web.tomcat.service.session.JBossCacheManager.storeSession(JBossCacheManager.java:652)
      > at org.jboss.web.tomcat.service.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:49)
      > at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:98)
      > at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteValve.java:84)
      > at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
      > at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
      > at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
      > at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
      > at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:381)
      > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      > at java.lang.Thread.run(Thread.java:595)
      > 00:33:48,484 ERROR [JBossCacheService] externalizeSession(): exception occurred externalizing session SessionBasedClusteredSession[id: 5XJ7uzVaRLgcoyC3gDwY1A**.node1 lastAccessedTime: 1190759561671 version: 2 lastOutdated: 0]
      > java.io.NotSerializableException: org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction
      > at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1081)
      > at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
      > at java.util.ArrayList.writeObject(ArrayList.java:569)
      > 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.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.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1380)
      > 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.service.session.SessionBasedClusteredSession.writeExternal(SessionBasedClusteredSession.java:175)
      > at org.jboss.web.tomcat.service.session.JBossCacheService.externalizeSession(JBossCacheService.java:1027)
      > at org.jboss.web.tomcat.service.session.JBossCacheService.putSession(JBossCacheService.java:316)
      > at org.jboss.web.tomcat.service.session.JBossCacheClusteredSession.processSessionRepl(JBossCacheClusteredSession.java:121)
      > at org.jboss.web.tomcat.service.session.JBossCacheManager.processSessionRepl(JBossCacheManager.java:1097)
      > at org.jboss.web.tomcat.service.session.JBossCacheManager.storeSession(JBossCacheManager.java:652)
      > at org.jboss.web.tomcat.service.session.InstantSnapshotManager.snapshot(InstantSnapshotManager.java:49)
      > at org.jboss.web.tomcat.service.session.ClusteredSessionValve.invoke(ClusteredSessionValve.java:98)
      > at org.jboss.web.tomcat.service.session.JvmRouteValve.invoke(JvmRouteValve.java:84)
      > at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
      > at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
      > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
      > at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
      > at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
      > at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:381)
      > at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      > at java.lang.Thread.run(Thread.java:595)
      


      The fix is supposed to be in updating Drools lib with current nightly build.
      Just about to see if this is true. ;-)