[rules-users] Problem with JPA session persistence in Drools Flow (5.0.1)

Kris Verlaenen kris.verlaenen at cs.kuleuven.be
Fri Aug 14 08:25:18 EDT 2009


We're planning to do a M1 near the end of the month, and a final a few
weeks later.

Kris

Quoting SBalakrishnan <Sanjay.Balakrishnan at fnis.com>:

> 
> Thanks Kris 
> 
> Will download from the below link and check.
> 
> Quick question, do you know when the official 5.1 release will be
> available
> ?
> 
> 
> 
> 
> 
> 
> Kris Verlaenen wrote:
> > 
> > The fix for this issue has been added to trunk about a month ago
> already
> > I think, have you already tried with the 5.1.0 SNAPSHOT release?
> Does
> > this solve your issue?
> > 
> > You can get the snapshot at
> >
> https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/
> > 
> > Kris
> > 
> > Quoting SBalakrishnan <Sanjay.Balakrishnan at fnis.com>:
> > 
> >> 
> >> Looks like I am running into the same/similar issue while
> recreating
> >> from a
> >> session_id.
> >> Exception pasted below.
> >> 
> >> Any idea whether it will be addressed in the coming release ?
> >> 
> >> 
> >> Thanks in advance..
> >> 
> >> 
> >> /*--------------------------------------------*/
> >> 
> >> Hibernate: select sessioninf0_.id as id0_0_, sessioninf0_.dirty
> as
> >> dirty0_0_, sessioninf0_.lastModificationDate as lastModi3_0_0_,
> >> sessioninf0_.rulesByteArray as rulesByt4_0_0_,
> sessioninf0_.startDate
> >> as
> >> startDate0_0_ from SessionInfo sessioninf0_ where
> sessioninf0_.id=?
> >> java.lang.RuntimeException: Unable to load session snapshot
> >> 	at
> >>
> >
>
org.drools.persistence.session.JPASessionMarshallingHelper.loadSnapshot(JPASessionMarshallingHelper.java:112)
> >> 	at
> >>
> >
>
org.drools.persistence.session.JPASessionMarshallingHelper.<init>(JPASessionMarshallingHelper.java:46)
> >> 	at
> >>
> >
>
org.drools.persistence.session.SingleSessionCommandService.<init>(SingleSessionCommandService.java:171)
> >> 	at
> >>
> >
>
org.drools.persistence.jpa.impl.JPAKnowledgeServiceProviderImpl.loadStatefulKnowledgeSession(JPAKnowledgeServiceProviderImpl.java:75)
> >> 	at
> >>
> >
>
org.drools.persistence.jpa.JPAKnowledgeService.loadStatefulKnowledgeSession(JPAKnowledgeService.java:102)
> >> 	at
> >>
> >
>
org.drools.examples.process.order.OrderExample.createWorkingMemory(OrderExample.java:257)
> >> 	at
> >>
> >
>
org.drools.examples.process.order.OrderExample.<init>(OrderExample.java:99)
> >> 	at
> >>
> org.drools.examples.process.order.OrderExample.main(OrderExample.java:80)
> >> Caused by: java.lang.NullPointerException
> >> 	at
> >>
> >
>
org.drools.marshalling.impl.InputMarshaller.readLeftTuple(InputMarshaller.java:496)
> >> 	at
> >>
> >
>
org.drools.marshalling.impl.InputMarshaller.readLeftTuples(InputMarshaller.java:426)
> >> 	at
> >>
> >
>
org.drools.marshalling.impl.InputMarshaller.readFactHandles(InputMarshaller.java:349)
> >> 	at
> >>
> >
>
org.drools.marshalling.impl.InputMarshaller.readSession(InputMarshaller.java:207)
> >> 	at
> >>
> >
>
org.drools.marshalling.impl.DefaultMarshaller.unmarshall(DefaultMarshaller.java:75)
> >> 	at
> >>
> >
>
org.drools.persistence.session.JPASessionMarshallingHelper.loadSnapshot(JPASessionMarshallingHelper.java:104)
> >> /*--------------------------------------------*/
> >> 
> >> 
> >> Mauricio Salatino wrote:
> >> > 
> >> > Ok, I will try to take a look at it.. this week..
> >> > I will let you know if I can fix it
> >> > 
> >> > 2009/7/28 DroolsUser <rafiuddin.mk at gmail.com>:
> >> >> Mark / salaboy, I am also facing same problem while recreate
> the
> >> session
> >> >> from database. Can you advice any alternative, so that I can
> go
> >> forward
> >> >> till
> >> >> the next release. Moreover when is the new release is .......
> Do
> >> new
> >> >> release
> >> >> will targeting this kind problem? Please suggest any
> alternative
> >> to
> >> >> recreate
> >> >> the session from db. Thanks in advance......
> >> >>
> >> >> gairey wrote:
> >> >> Mark, Done: https://jira.jboss.org/jira/browse/JBRULES-2199 -
> >> thanks for
> >> >> the
> >> >> quick response. Regards, Alan Mark Proctor Sent by:
> >> >> rules-users-bounces at lists.jboss.org 08/07/2009 13:49 Please
> >> respond to
> >> >> Rules
> >> >> Users List To Rules Users List cc Subject Re: [rules-users]
> >> Problem with
> >> >> JPA
> >> >> session persistence in Drools Flow (5.0.1) Can you open a JIRA
> for
> >> this,
> >> >> and
> >> >> we'll make sure it's done in the next few weeks:
> >> >> https://jira.jboss.org/jira/browse/JBRULES thanks Mark
> >> >> Alan.Gairey at tessella.com wrote: I'm currently using Drools
> Flow
> >> with JPA
> >> >> session persistence enabled as described in section 5.1 of the
> >> User
> >> >> Guide.
> >> >> As a process executes, session information is saved to the H2
> >> database
> >> >> correctly. The problem comes if a process only executes part
> way
> >> through,
> >> >> and I then try to finish the process by recreating a session
> using
> >> the
> >> >> code:
> >> >> // recreate the session from database using the sessionId
> ksession
> >> =
> >> >> JPAKnowledgeService.loadStatefulKnowledgeSession( sessionId,
> >> kbase, null,
> >> >> env ); This gives me a NullPointerException. Having looked
> into
> >> the
> >> >> Drools
> >> >> Flow source code, I think the problem is in the class
> >> >>
> >>
> >
>
drools-persistence-jpa\src\main\java\org\drools\persistence\session\SingleSessionCommandService.java.
> >> >> The 4th constructor of this class is called as part of the
> loading
> >> of a
> >> >> knowledge session from the H2 database; this in turn leads to
> the
> >> >> afterCompletion method of the inner class SynchronizationImpl
> >> being
> >> >> called.
> >> >> The final two lines of this method are:
> >> ((JPAProcessInstanceManager)
> >> >> ((ReteooWorkingMemory)
> >> >> session).getProcessInstanceManager()).clearProcessInstances();
> >> >> ((JPAWorkItemManager) ((ReteooWorkingMemory)
> >> >> session).getWorkItemManager()).clearWorkItems(); However, when
> >> called via
> >> >> the route described above, the session member variable of
> >> >> SingleSessionCommandService has not been set, thus causing the
> >> >> NullPointerException. (Interestingly, running the unit tests
> for
> >> >> drools-persistence-jpa does result in the NullPointerException
> >> being
> >> >> thrown
> >> >> multiple times, although the tests are still listed as having
> >> passed.) I
> >> >> believe enclosing the above two lines as follows will fix the
> >> problem: if
> >> >> (session != null) { ((JPAProcessInstanceManager)
> >> ((ReteooWorkingMemory)
> >> >> session).getProcessInstanceManager()).clearProcessInstances();
> >> >> ((JPAWorkItemManager) ((ReteooWorkingMemory)
> >> >> session).getWorkItemManager()).clearWorkItems(); } Also, in
> the
> >> 4th
> >> >> constructor of SingleSessionCommandService, after the session
> has
> >> been
> >> >> set,
> >> >> the following line needs to be added to ensure the session id
> is
> >> the same
> >> >> as
> >> >> the session info id: ((ReteooStatefulSession)
> >> this.session).setId(
> >> >> this.sessionInfo.getId() ); (This line is present at the end
> of
> >> the 3rd
> >> >> constructor.) It would be great if this fix could make it into
> the
> >> Drools
> >> >> 5.1 release. Thanks.
> >> _______________________________________________
> >> >> rules-users mailing list rules-users at lists.jboss.org
> >> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >> >> _______________________________________________ rules-users
> >> mailing list
> >> >> rules-users at lists.jboss.org
> >> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >> >> _______________________________________________ rules-users
> >> mailing list
> >> >> rules-users at lists.jboss.org
> >> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >> >>
> >> >> ________________________________
> >> >> View this message in context: Re: Problem with JPA session
> >> persistence in
> >> >> Drools Flow (5.0.1)
> >> >> Sent from the drools - user mailing list archive at
> Nabble.com.
> >> >>
> >> >> _______________________________________________
> >> >> rules-users mailing list
> >> >> rules-users at lists.jboss.org
> >> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >> >>
> >> >>
> >> > 
> >> > 
> >> > 
> >> > -- 
> >> >  - http://salaboy.wordpress.com
> >> >  - http://www.jbug.com.ar
> >> >  - Salatino "Salaboy" Mauricio -
> >> > _______________________________________________
> >> > rules-users mailing list
> >> > rules-users at lists.jboss.org
> >> > https://lists.jboss.org/mailman/listinfo/rules-users
> >> > 
> >> > 
> >> 
> >> -- 
> >> View this message in context:
> >>
> >
>
http://www.nabble.com/Problem-with-JPA-session-persistence-in-Drools-Flow-%285.0.1%29-tp24377236p24909794.html
> >> Sent from the drools - user mailing list archive at Nabble.com.
> >> 
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >> 
> > 
> > 
> > 
> > 
> > Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm
> > _______________________________________________
> > rules-users mailing list
> > rules-users at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
> > 
> > 
> 
> -- 
> View this message in context:
>
http://www.nabble.com/Problem-with-JPA-session-persistence-in-Drools-Flow-%285.0.1%29-tp24377236p24957542.html
> Sent from the drools - user mailing list archive at Nabble.com.
> 
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
> 




Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm



More information about the rules-users mailing list