Hi, no problem.<br>Basically you don&#39;t need to pass the ProcessInstance to the rules, because you can make inferences using the information inside the process instance in your rules.<br>If you can share what you want to do in your rules, I can help you..<br>
Greetings<br><br><div class="gmail_quote">On Tue, Oct 6, 2009 at 8:31 AM, premkumar <span dir="ltr">&lt;<a href="mailto:premkumar.sivanandan@gmail.com">premkumar.sivanandan@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
Thanks Maurico on your response.  yes i am using bitronics .<br>
<br>
 I have identified why this error happens when i have insert ProcessInstance<br>
obect to session as a fact to made available them in drools rule file<br>
conditions both LHS and RHS. Since the process instance is not implements<br>
Serializable.<br>
<br>
Let me give details about me project tt is spring based web project with<br>
hibernate .<br>
<br>
If you have any inputs how can i pass ProcessInstance object to Rules when<br>
am using JPAKnowledgeService.<br>
<br>
<br>
Find the Persistence.xml below<br>
<br>
  &lt;persistence-unit  name=&quot;org.drools.persistence.jpa&quot;<br>
transaction-type=&quot;JTA&quot;&gt;<br>
   &lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt;<br>
    &lt;jta-data-source&gt;processInstanceDS&lt;/jta-data-source&gt;<br>
    &lt;class&gt;org.drools.persistence.session.SessionInfo&lt;/class&gt;<br>
<br>
&lt;class&gt;org.drools.persistence.processinstance.ProcessInstanceInfo&lt;/class&gt;<br>
<br>
&lt;class&gt;org.drools.persistence.processinstance.ProcessInstanceEventInfo&lt;/class&gt;<br>
    &lt;class&gt;org.drools.persistence.processinstance.WorkItemInfo&lt;/class&gt;<br>
<br>
    &lt;properties&gt;<br>
               &lt;property name=&quot;hibernate.dialect&quot;<br>
value=&quot;org.hibernate.dialect.H2Dialect&quot;/&gt;<br>
              &lt;property name=&quot;hibernate.max_fetch_depth&quot; value=&quot;3&quot;/&gt;<br>
              &lt;property name=&quot;hibernate.hbm2ddl.auto&quot; value=&quot;update&quot;/&gt;<br>
              &lt;property name=&quot;hibernate.show_sql&quot; value=&quot;true&quot;/&gt;<br>
              &lt;property name=&quot;hibernate.transaction.manager_lookup_class&quot;<br>
                        value=&quot;org.hibernate.transaction.BTMTransactionManagerLookup&quot;/&gt;<br>
     &lt;/properties&gt;<br>
  &lt;/persistence-unit&gt;<br>
&lt;/persistence&gt;<br>
<br>
Datasource intialization code<br>
<br>
PoolingDataSource ds = new PoolingDataSource();<br>
                ds.setUniqueName(&quot;processInstanceDS&quot;);<br>
<br>
                ds.setClassName(&quot;org.h2.jdbcx.JdbcDataSource&quot;);<br>
                ds.setMaxPoolSize(3);<br>
                ds.setAllowLocalTransactions(true);<br>
                ds.getDriverProperties().put(&quot;user&quot;, &quot;sa&quot;);<br>
                ds.getDriverProperties().put(&quot;password&quot;, &quot;sasa&quot;);<br>
                ds.getDriverProperties().put(&quot;URL&quot;,<br>
&quot;jdbc:h2:file:/NotBackedUp/data/process-instance-db&quot;);<br>
                ds.init()<br>
Thanks<br>
Prem<br>
<div><div></div><div class="h5"><br>
<br>
Mauricio Salatino wrote:<br>
&gt;<br>
&gt; are you using bitronix and an EJB3 container?<br>
&gt; can you explain us your infrastructure? what kind of projects do you have,<br>
&gt; etc.<br>
&gt; Thanks!<br>
&gt;<br>
&gt; On Tue, Oct 6, 2009 at 2:18 AM, premkumar<br>
&gt; &lt;<a href="mailto:premkumar.sivanandan@gmail.com">premkumar.sivanandan@gmail.com</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi<br>
&gt;&gt;<br>
&gt;&gt;     I am new to drools flow and trying to use the persistence using<br>
&gt;&gt; JPAKnowledgeService. When i tried that got the stack overflow error in H2<br>
&gt;&gt; db.<br>
&gt;&gt;<br>
&gt;&gt;    Can any one provide the guidance how to resolve this.<br>
&gt;&gt;<br>
&gt;&gt; The exception trace is below<br>
&gt;&gt;<br>
&gt;&gt; Hibernate: insert into SessionInfo (id, dirty, lastModificationDate,<br>
&gt;&gt; rulesByteArray, startDate) values (null, ?, ?, ?, ?)<br>
&gt;&gt;  After the persistence Session @@@@@@<br>
&gt;&gt; Oct 6, 2009 2:42:21 PM bitronix.tm.twopc.Preparer prepare<br>
&gt;&gt; WARNING: executing transaction with 0 enlisted resource<br>
&gt;&gt; Oct 6, 2009 2:42:21 PM bitronix.tm.twopc.Preparer prepare<br>
&gt;&gt; WARNING: executing transaction with 0 enlisted resource<br>
&gt;&gt; Oct 6, 2009 2:42:22 PM bitronix.tm.twopc.Preparer prepare<br>
&gt;&gt; WARNING: executing transaction with 0 enlisted resource<br>
&gt;&gt; Hibernate: insert into ProcessInstanceInfo (processInstanceId,<br>
&gt;&gt; externalVariables, lastModificationDate, lastReadDate, processId,<br>
&gt;&gt; processInstanceByteArray, startDate, state, OPTLOCK) values (null, ?, ?,<br>
&gt;&gt; ?,<br>
&gt;&gt; ?, ?, ?, ?, ?)<br>
&gt;&gt; Hibernate: insert into WorkItemInfo (workItemId, creationDate, name,<br>
&gt;&gt; processInstanceId, state, OPTLOCK, workItemByteArray) values (null, ?, ?,<br>
&gt;&gt; ?,<br>
&gt;&gt; ?, ?, ?)<br>
&gt;&gt; Executing work item WorkItem 22 [name=Human Task, state=0,<br>
&gt;&gt; processInstanceId=21, parameters{ActorId=Admin, Comment=Raise Tk Request,<br>
&gt;&gt; Skippable=false, TaskName=Raise Tk Request}]<br>
&gt;&gt; Hibernate: update ProcessInstanceInfo set externalVariables=?,<br>
&gt;&gt; lastModificationDate=?, lastReadDate=?, processId=?,<br>
&gt;&gt; processInstanceByteArray=?, startDate=?, state=?, OPTLOCK=? where<br>
&gt;&gt; processInstanceId=? and OPTLOCK=?<br>
&gt;&gt; Hibernate: insert into ProcessInstanceInfo_eventTypes<br>
&gt;&gt; (ProcessInstanceInfo_processInstanceId, element) values (?, ?)<br>
&gt;&gt; Hibernate: delete from WorkItemInfo where workItemId=? and OPTLOCK=?<br>
&gt;&gt; Hibernate: update SessionInfo set dirty=?, lastModificationDate=?,<br>
&gt;&gt; rulesByteArray=?, startDate=? where id=?<br>
&gt;&gt; ****** ut ******* a BitronixTransactionManager with 0 in-flight<br>
&gt;&gt; transaction(s)<br>
&gt;&gt; Oct 6, 2009 2:42:22 PM bitronix.tm.BitronixTransaction<br>
&gt;&gt; fireBeforeCompletionEvent<br>
&gt;&gt; WARNING: Synchronization.beforeCompletion() call failed for<br>
&gt;&gt; org.hibernate.ejb.AbstractEntityManagerImpl$1@1824d2c, marking<br>
&gt;&gt; transaction<br>
&gt;&gt; as rollback only<br>
&gt;&gt; javax.persistence.PersistenceException: java.lang.RuntimeException:<br>
&gt;&gt; java.lang.StackOverflowError<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:516)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; bitronix.tm.BitronixTransaction.fireBeforeCompletionEvent(BitronixTransaction.java:366)<br>
&gt;&gt;        at<br>
&gt;&gt; bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:142)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:96)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:258)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.drools.command.impl.CommandBasedStatefulKnowledgeSession.insert(CommandBasedStatefulKnowledgeSession.java:305)<br>
&gt;&gt;        at com.sample.POCTestClient.main(POCTestClient.java:57)<br>
&gt;&gt; Caused by: java.lang.RuntimeException: java.lang.StackOverflowError<br>
&gt;&gt;        at<br>
&gt;&gt; org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:31)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.ejb.event.EntityCallbackHandler.callback(EntityCallbackHandler.java:80)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.ejb.event.EntityCallbackHandler.preUpdate(EntityCallbackHandler.java:65)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.ejb.event.EJB3FlushEntityEventListener.invokeInterceptor(EJB3FlushEntityEventListener.java:41)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.event.def.DefaultFlushEntityEventListener.handleInterception(DefaultFlushEntityEventListener.java:330)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:270)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:151)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:49)<br>
&gt;&gt;        at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1027)<br>
&gt;&gt;        at<br>
&gt;&gt; org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:365)<br>
&gt;&gt;        at<br>
&gt;&gt;<br>
&gt;&gt; org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:504)<br>
&gt;&gt;        ... 6 more<br>
&gt;&gt; Caused by: java.lang.StackOverflowError<br>
&gt;&gt;<br>
&gt;&gt; thanks<br>
&gt;&gt; Prem<br>
&gt;&gt; --<br>
&gt;&gt; View this message in context:<br>
&gt;&gt; <a href="http://www.nabble.com/Drools-Flow-Persisternce-Stack-Overflow-Error-tp25765337p25765337.html" target="_blank">http://www.nabble.com/Drools-Flow-Persisternce-Stack-Overflow-Error-tp25765337p25765337.html</a><br>

&gt;&gt; Sent from the drools - dev mailing list archive at Nabble.com.<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; rules-dev mailing list<br>
&gt;&gt; <a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; - <a href="http://salaboy.wordpress.com" target="_blank">http://salaboy.wordpress.com</a><br>
&gt; - <a href="http://www.jbug.com.ar" target="_blank">http://www.jbug.com.ar</a><br>
&gt; - Salatino &quot;Salaboy&quot; Mauricio -<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; rules-dev mailing list<br>
&gt; <a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
&gt;<br>
&gt;<br>
<br>
--<br>
</div></div>View this message in context: <a href="http://www.nabble.com/Drools-Flow-Persisternce-Stack-Overflow-Error-tp25765337p25771029.html" target="_blank">http://www.nabble.com/Drools-Flow-Persisternce-Stack-Overflow-Error-tp25765337p25771029.html</a><br>

<div><div></div><div class="h5">Sent from the drools - dev mailing list archive at Nabble.com.<br>
<br>
_______________________________________________<br>
rules-dev mailing list<br>
<a href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-dev</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> - <a href="http://salaboy.wordpress.com">http://salaboy.wordpress.com</a><br> - <a href="http://www.jbug.com.ar">http://www.jbug.com.ar</a><br> - Salatino &quot;Salaboy&quot; Mauricio -<br>