[Drools 5.5.0 Final] I wrote a webserver that keeps StatefulKnowledgeSessions running in Stream mode. When the server is stopped, the sessions are serialized and stored in a database. When the server is restarted, the existing sessions are restored / deserialized.
Some time after recreating the session and inserting some events I get the following exception: java.lang.NullPointerException: null at org.drools.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluateCachedLeft(AfterEvaluatorDefinition.java:351) ... Apparently the exception seems to be related to a rule that uses temporal reasoning. After getting it once, the session seems to be corrupt -> from now on every time I call ksession.insert(event) the same exception occurs. When I serialize the session and attempt to deserialize it, I get a long stack trace --> I can not deserialize it anymore. (as apparently it is corrupted). When I run the server with the same events/sessions without stopping (serialization/deserialization) the exception does not occur) Can I do anything to prevent this behaviour? I thought maybe the "after" timer/trigger is somehow still active when I serialize the ksession. I tried ksession.halt() before serialization, but with no effect. Any ideas?
signature.asc
Description: Message signed with OpenPGP using GPGMail
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
