Drools: Unable to load session snapshot
---------------------------------------
Key: JBRULES-2681
URL:
https://jira.jboss.org/browse/JBRULES-2681
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Affects Versions: 5.1.0.FINAL
Environment: Windows Server, SQL Server 2005, Tomcat 5.5, Hibernate, Bitronix
Reporter: Gustavo Tenrreiro
Assignee: Mark Proctor
After an event is processed the session fails to load using JPA persistence.
I ve attached a test case.
It uses a Drools flow file, and a drl file. Both very simple..
The flow file has a "Start" then an action that prints a message to the console,
then "End"
The Drl has one rule that processes an event:
import com.kgcontrols.services.company.standardsRequests.workflow.events.VoteCreatedEvent
declare VoteCreatedEvent
@role(event)
end
rule "testEvents"
when
VoteCreatedEvent() from entry-point "VoteCreatedStream"
then
System.out.println("--------------------------- YEAH the event got
here");
end
I can see the "YEAH the event go here" on the console so I know the rule fired.
But after that, if I try to load the session from the database I get:
1.
INFO 2010-09-02 08:28:56 [ERROR] com.kgcontrols.services.company.standardsRequ
2.
ests.workflow.TimerRunner java.lang.reflect.InvocationTargetException
3.
java.lang.IllegalStateException: java.lang.reflect.InvocationTargetException
4.
at org.drools.persistence.jpa.impl.KnowledgeStoreServiceImpl.buildComman
5.
Service(KnowledgeStoreServiceImpl.java:106)
6.
at org.drools.persistence.jpa.impl.KnowledgeStoreServiceImpl.loadStatefu
7.
lKnowledgeSession(KnowledgeStoreServiceImpl.java:74)
8.
at org.drools.persistence.jpa.JPAKnowledgeService.loadStatefulKnowledgeS
9.
ession(JPAKnowledgeService.java:118)
10.
at com.kgcontrols.services.company.standardsRequests.workflow.JPAKnowle
11.
dgeSessionLookup.loadSession(JPAKnowledgeSessionLookup.java:103)
12.
at com.kgcontrols.services.company.standardsRequests.workflow.TimerRunn
13.
er.run(TimerRunner.java:39)
14.
at java.lang.Thread.run(Thread.java:619)
15.
Caused by: java.lang.reflect.InvocationTargetException
16.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
17.
18.
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct
19.
orAccessorImpl.java:39)
20.
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC
21.
onstructorAccessorImpl.java:27)
22.
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
23.
at org.drools.persistence.jpa.impl.KnowledgeStoreServiceImpl.buildComman
24.
Service(KnowledgeStoreServiceImpl.java:91)
25.
... 5 more
26.
Caused by: java.lang.RuntimeException: Unable to load session snapshot
27.
at org.drools.persistence.session.JPASessionMarshallingHelper.loadSnapsh
28.
ot(JPASessionMarshallingHelper.java:96)
29.
at org.drools.persistence.session.SingleSessionCommandService.initKsessi
30.
on(SingleSessionCommandService.java:196)
31.
at
org.drools.persistence.session.SingleSessionCommandService.<init>(Sin
32.
gleSessionCommandService.java:159)
33.
... 10 more
34.
Caused by: java.lang.NullPointerException
35.
at org.drools.reteoo.LeftTuple.<init>(LeftTuple.java:135)
36.
at org.drools.reteoo.LeftTuple.<init>(LeftTuple.java:121)
37.
at org.drools.marshalling.impl.InputMarshaller.readLeftTuple(InputMarsha
38.
ller.java:461)
39.
at org.drools.marshalling.impl.InputMarshaller.readFactHandles(InputMars
40.
haller.java:351)
41.
at org.drools.marshalling.impl.InputMarshaller.readSession(InputMarshall
42.
er.java:205)
43.
at org.drools.marshalling.impl.DefaultMarshaller.unmarshall(DefaultMarsh
44.
aller.java:91)
45.
at org.drools.persistence.session.JPASessionMarshallingHelper.loadSnapsh
46.
ot(JPASessionMarshallingHelper.java:91)
47.
... 12 more
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira