Is it possible to cluster a StatefulKnowledgeSession?
Issue
- Is it possible to cluster a StatefulKnowledgeSession?
-
The StatefulKnowledgeSession must be serializable (stored in HTTP Session). Only one fact is in the knowledge session - and it is serializable. Below is the stack trace:
ERROR [session.SessionTrackerValve] An unexpected error occured while attempting to deserialize the session : java.util.concurrent.locks.ReentrantLock$NonfairSyncjava.lang.ArrayStoreException: java.util.concurrent.locks.ReentrantLock$NonfairSync at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946) ... at com.redhat.examples.session.SessionTrackerValve.deSerialize(SessionTrackerValve.groovy:143) at com.redhat.examples.session.SessionTrackerValve$deSerialize.callCurrent(Unknown Source) at com.redhat.examples.session.SessionTrackerValve.storeSession(SessionTrackerValve.groovy:79) at com.redhat.examples.session.SessionTrackerValve.this$3$storeSession(SessionTrackerValve.groovy) at com.redhat.examples.session.SessionTrackerValve$this$3$storeSession.callCurrent(Unknown Source) at com.redhat.examples.session.SessionTrackerValve.invoke(SessionTrackerValve.groovy:29) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454) at java.lang.Thread.run(Thread.java:662)
Environment
- JBoss Enterprise Business Rules Management System (BRMS)
- 5.0.2
- 5.1
- 5.2
- 5.3
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.