[rules-users] [Drools Flow 5.1] persistence + spring + localTransaction

anton.litvinenko anton.litvinenko at gmail.com
Thu Apr 28 12:01:28 EDT 2011


Hi!

I am quite new to Drools and Drools Flow - please let me know if I am asking
something obvious here :)

I've implemented my custom WorkItemHandlers that are aware of the
KnowledgeSession. Now, I am trying to enable persistence to flows using
drools-persistence-jpa and drools-spring. Ideally, I wanted drools to start
and end transactions, but I wasn't able to achieve that (this is the
problem) and I have start/end transactions manually before
starting/aborting/signaling a process (i.e. running a process is a single
transaction -> if exception happens no state is persisted).

Problem: DroolsSpringTransactionManager has a flag localTransaction which is
set to true whenever a new transaction is started and transaction is
committed only if this flag is set to true. Now, if inside workItemHandler I
invoke a method on knowledgeSession, then my call is being delegated to
SingleSessionCommandService and it tries to start a transaction, but it sees
that there is a transaction already running and sets localTransaction flag
to false -> transaction never gets committed.

Am I doing something wrong here?

Thanks in advance!
Anton

--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Flow-5-1-persistence-spring-localTransaction-tp2875263p2875263.html
Sent from the Drools: User forum mailing list archive at Nabble.com.



More information about the rules-users mailing list