1 Reply Latest reply on Apr 1, 2008 7:22 PM by Lars Schmidt

    Drools 4.0 in Seam 1.2.1 GA

    Lars Schmidt Newbie

      Hello everyone,


      i was looking for some migration instructions to update to Drools 4.0.4 GA within a Seam 1.2.1 GA project and didn't find any.


      So I have to pose a simple question: Is it generally possible to migrate to Drools 4 within Seam 1.2?


      - if yes :) Does anyone know a a good guide i need to follow?


      - if not :( I want to upgrade to Drools 4 because there is a fix within the ActivationGroupImpl that extends Serializable afterwards. As I'm clustering the Seam application i got the following error:



      2008-03-11 11:31:30,430 ERROR [org.jboss.web.tomcat.service.session.JBossCacheService] externalizeSession(): exception occurred externalizing session SessionBasedClusteredSession[id: 4775E1E51192630CAF84C8A0DC1037E2.node1 lastAccessedTime: 1205231489572 version: 4 lastOutdated: 0]
      java.io.NotSerializableException: org.drools.common.ActivationGroupImpl
                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
                      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
                      at java.util.HashMap.writeObject(HashMap.java:1001)
                      at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                      at java.lang.reflect.Method.invoke(Method.java:597)
                      at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
                      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
                      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
                      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
                      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
                      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
                      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
                      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
                      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
                      at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
                      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
                      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
                      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
                      at java.util.concurrent.ConcurrentHashMap.writeObject(ConcurrentHashMap.java:1247)
                      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:597)
                      at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945)
                      at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461)
                      at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
                      at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
                      at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
                      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:432)
                      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
                      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
                      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                      at org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn.invoke(ClusteredSingleSignOn.java:637)
                      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
                      at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
                      at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
                      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
                      at java.lang.Thread.run(Thread.java:619)
      



      Does anyone know a opportunity to fix this problem solved in  JBRULES-945 on another way (without migrating to Drools 4) ?




      Thanks in advance.


      Lars