<font size="2" face="Helv"><font size="2" face="Helv">
<p dir="ltr">Hello, I am involved in a project in which we are using Drools Flow 5.1.1. as the underlying BPM.</p>
<p dir="ltr">We have drools integration with Spring. We are using JPA+Spring+Drools integration, and have setup the knowledge base and stateful session as indicated in the drools spring integration documentation. Our BPM has external clients that call adaptor methods for Drools. That is, drools is never used in a direct way from an external client. We use this strategy in order to provide some additional behaviour and also in order to provide transactional behaviour as it is usually made with Spring.</p>

<p dir="ltr">We needed to partially apply the patch reported at the end of: </p>
<p dir="ltr"><a href="http://drools.46999.n3.nabble.com/5-1-0-CR1-Drools-Spring-Configuration-Changed-td997130.html">http://drools.46999.n3.nabble.com/5-1-0-CR1-Drools-Spring-Configuration-Changed-td997130.html</a></p></font></font><b><font face="Times New Roman">
<p dir="ltr">&quot;3.</p></font></b> Interesting thing is that I have to recreate &quot;Environment&quot; now every time before reloading the Session, otherwise the entityManager is closed, and it does not respond to a simple Spring AOP TM wrapping... But that is another issue.. &quot;<font size="2" face="Helv"><font size="2" face="Helv">
<p dir="ltr">We still have some persistence problems when using drools Timers. The problems arise when drools creates the transaction itself. We do have some listeners which persist some information in our own tables. For this reason and also some others (as reported in </p>
</font></font><font size="2" face="Courier New"><font size="2" face="Courier New"><a href="http://drools.46999.n3.nabble.com/Drools-5-1-Flow-in-a-quot-Clustered-quot-environment-td1780463.html">http://drools.46999.n3.nabble.com/Drools-5-1-Flow-in-a-quot-Clustered-quot-environment-td1780463.html</a></font></font><font size="2" face="Helv"><font size="2" face="Helv">), we would like to configure the timer service used
<p dir="ltr">internally by Drools.</p>
<p dir="ltr">Looking at drools source code, it seems that it should be possible, since a defult implementation is provided by drools (</p></font></font><font size="2" face="Courier New"><font size="2" face="Courier New">JDKTimerService</font></font><font size="2" face="Helv"><font size="2" face="Helv"> and </font></font><font size="2" face="Courier New"><font size="2" face="Courier New">JpaJDKTimerService</font></font><font size="2" face="Helv"><font size="2" face="Helv"> if persistence is used). For example, class </font></font><u><font size="2" face="Courier New"><font size="2" face="Courier New">KnowledgeStoreServiceImpl</font></font></u><font size="2" face="Helv"><font size="2" face="Helv"> seems to define a set of default services (which could pressumably be overriden someway). Nevertheless, after looking to that for a while we have found no specific documentation and no clear way to do that for our Spring integration.
<p dir="ltr">Is there a way to change the TimerService implementation provided by Drools?</p>
<p dir="ltr">Any help is appreciated.</p>
<p dir="ltr">Thanks very much in advance!</p>
<div dir="ltr">Jordi Alvarez</div>
<div dir="ltr"> </div></font></font>