What kind of thread safe tests are you doing?<br>if multiple threads modify the status of the process, only one of them will commit the new status, and the other ones will rollback the transaction because of a bad state.<br>
<br>Is that what you are looking for?<br><br><br><div class="gmail_quote">On Tue, Jun 15, 2010 at 3:33 PM, Rob Collins <span dir="ltr">&lt;<a href="mailto:RCollins@patientsafesolutions.com">RCollins@patientsafesolutions.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">We are using version 5.1.0.M1. We have long-running processes (flows). They are long-running because we have work item nodes that involve the user of our application to do something. We are in the development cycle of our product and everything is going well. I am trying to configure persistence and running into some issues.<br>

<br>
I am to the point where our basic unit tests appear to be running fine with persistence enabled both in the container (tomcat6) and in our unit testing environment (ServletUnit).<br>
<br>
We have unit tests that run the same test  in multiple threads in parallel (the idea is to try to expose thread safety issues), and these tests always fail. At the end of this message, I have pasted a few of the different stack traces I have seen.<br>

<br>
I expect that I have done something silly in the configuration, and I could use some help in finding it. I am not sure if the problem is my configuration of JPA, Hibernate, the DataSource, or if it is an interaction between what Drools is expecting and the details of my configuration.<br>

<br>
Thanks,<br>
Rob Collins<br>
<br>
<br>
&gt;From my spring configuration:<br>
<br>
    &lt;!-- Spring JtaTransactionManager --&gt;<br>
    &lt;bean id=&quot;transactionManager&quot; class=&quot;org.springframework.transaction.jta.JtaTransactionManager&quot;<br>
        depends-on=&quot;bitronixTransactionManager&quot;&gt;<br>
        &lt;property name=&quot;transactionManager&quot; ref=&quot;bitronixTransactionManager&quot; /&gt;<br>
        &lt;property name=&quot;userTransaction&quot; ref=&quot;bitronixTransactionManager&quot; /&gt;<br>
    &lt;/bean&gt;<br>
<br>
    &lt;!--  Bitronix Transaction Manager embedded configuration --&gt;<br>
    &lt;bean id=&quot;btmConfig&quot; class=&quot;bitronix.tm.TransactionManagerServices&quot; factory-method=&quot;getConfiguration&quot;&gt;<br>
        &lt;property name=&quot;serverId&quot; value=&quot;spring-btm&quot; /&gt;<br>
    &lt;/bean&gt;<br>
<br>
    &lt;!-- create Bitronix Transaction Manager transaction manager --&gt;<br>
    &lt;bean id=&quot;bitronixTransactionManager&quot; class=&quot;bitronix.tm.TransactionManagerServices&quot;<br>
        factory-method=&quot;getTransactionManager&quot; depends-on=&quot;btmConfig&quot;<br>
        destroy-method=&quot;shutdown&quot; /&gt;<br>
<br>
    &lt;bean id=&quot;sessionDataSource&quot; class=&quot;bitronix.tm.resource.jdbc.PoolingDataSource&quot; init-method=&quot;init&quot; destroy-method=&quot;close&quot;&gt;<br>
        &lt;property name=&quot;className&quot; value=&quot;com.mysql.jdbc.jdbc2.optional.MysqlXADataSource&quot; /&gt;<br>
        &lt;property name=&quot;uniqueName&quot; value=&quot;jdbc/processInstanceDS&quot; /&gt;<br>
        &lt;property name=&quot;maxPoolSize&quot; value=&quot;8&quot; /&gt;<br>
        &lt;property name=&quot;allowLocalTransactions&quot; value=&quot;true&quot; /&gt;<br>
        &lt;property name=&quot;driverProperties&quot;&gt;<br>
            &lt;props&gt;<br>
                &lt;prop key=&quot;URL&quot;&gt;${db.session.connection.url}&lt;/prop&gt;<br>
                &lt;prop key=&quot;user&quot;&gt;${db.session.username}&lt;/prop&gt;<br>
                &lt;prop key=&quot;password&quot;&gt;${db.session.password}&lt;/prop&gt;<br>
            &lt;/props&gt;<br>
        &lt;/property&gt;<br>
    &lt;/bean&gt;<br>
<br>
My persistence.xml:<br>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?&gt;<br>
&lt;persistence version=&quot;1.0&quot;<br>
xsi:schemaLocation=&quot;<a href="http://java.sun.com/xml/ns/persistence" target="_blank">http://java.sun.com/xml/ns/persistence</a><br>
     <a href="http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" target="_blank">http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd</a><br>
     <a href="http://java.sun.com/xml/ns/persistence/orm" target="_blank">http://java.sun.com/xml/ns/persistence/orm</a><br>
     <a href="http://java.sun.com/xml/ns/persistence/orm_1_0.xsd" target="_blank">http://java.sun.com/xml/ns/persistence/orm_1_0.xsd</a>&quot;<br>
xmlns:orm=&quot;<a href="http://java.sun.com/xml/ns/persistence/orm" target="_blank">http://java.sun.com/xml/ns/persistence/orm</a>&quot;<br>
xmlns:xsi=&quot;<a href="http://www.w3.org/2001/XMLSchema-instance" target="_blank">http://www.w3.org/2001/XMLSchema-instance</a>&quot;<br>
xmlns=&quot;<a href="http://java.sun.com/xml/ns/persistence" target="_blank">http://java.sun.com/xml/ns/persistence</a>&quot;&gt;<br>
<br>
&lt;persistence-unit name=&quot;org.drools.persistence.jpa&quot;&gt;<br>
&lt;provider&gt;org.hibernate.ejb.HibernatePersistence&lt;/provider&gt;<br>
&lt;jta-data-source&gt;jdbc/processInstanceDS&lt;/jta-data-source&gt;<br>
&lt;class&gt;org.drools.persistence.session.SessionInfo&lt;/class&gt;<br>
&lt;class&gt;org.drools.persistence.processinstance.ProcessInstanceInfo&lt;/class&gt;<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>
        &lt;class&gt;org.drools.persistence.processinstance.variabletypes.VariableInstanceInfo&lt;/class&gt;<br>
        &lt;class&gt;org.drools.persistence.processinstance.variabletypes.JPAPersistedVariable&lt;/class&gt;<br>
<br>
&lt;properties&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;create-drop&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;property name=&quot;hibernate.jndi.class&quot; value=&quot;bitronix.tm.jndi.BitronixInitialContextFactory&quot; /&gt;<br>
&lt;/properties&gt;<br>
&lt;/persistence-unit&gt;<br>
&lt;/persistence&gt;<br>
<br>
<br>
<br>
<br>
java.lang.NullPointerException<br>
at org.drools.persistence.processinstance.JPAProcessInstanceManager.addProcessInstance(JPAProcessInstanceManager.java:33)<br>
at org.drools.process.instance.AbstractProcessInstanceFactory.createProcessInstance(AbstractProcessInstanceFactory.java:37)<br>
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1706)<br>
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1682)<br>
at org.drools.workflow.instance.node.SubProcessNodeInstance.internalTrigger(SubProcessNodeInstance.java:115)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:148)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:135)<br>
at org.drools.workflow.instance.node.JoinInstance.triggerCompleted(JoinInstance.java:152)<br>
at org.drools.workflow.instance.node.JoinInstance.internalTrigger(JoinInstance.java:52)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:148)<br>
at org.drools.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:74)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:148)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:135)<br>
at org.drools.workflow.instance.node.StartNodeInstance.triggerCompleted(StartNodeInstance.java:49)<br>
at org.drools.workflow.instance.node.StartNodeInstance.internalTrigger(StartNodeInstance.java:41)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.ruleflow.instance.RuleFlowProcessInstance.internalStart(RuleFlowProcessInstance.java:16)<br>
at org.drools.process.instance.impl.ProcessInstanceImpl.start(ProcessInstanceImpl.java:185)<br>
at org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.start(WorkflowProcessInstanceImpl.java:230)<br>
at org.drools.common.AbstractWorkingMemory.startProcess(AbstractWorkingMemory.java:1689)<br>
at org.drools.impl.StatefulKnowledgeSessionImpl.startProcess(StatefulKnowledgeSessionImpl.java:289)<br>
at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:52)<br>
at org.drools.command.runtime.process.StartProcessCommand.execute(StartProcessCommand.java:14)<br>
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:254)<br>
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:163)<br>
at com.patientsafesolutions.application.controllers.DroolsWorkflowController.startWorkflowProcess(DroolsWorkflowController.java:310)<br>
at com.patientsafesolutions.application.controllers.DroolsWorkflowController.drools(DroolsWorkflowController.java:85)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br>
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)<br>
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)<br>
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)<br>
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)<br>
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)<br>
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)<br>
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)<br>
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)<br>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)<br>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<br>
at com.meterware.servletunit.InvocationContextImpl.service(InvocationContextImpl.java:76)<br>
at com.meterware.servletunit.ServletUnitClient.newResponse(ServletUnitClient.java:126)<br>
at com.meterware.httpunit.WebClient.createResponse(WebClient.java:667)<br>
at com.meterware.httpunit.WebWindow.getResource(WebWindow.java:220)<br>
at com.meterware.httpunit.WebWindow.getSubframeResponse(WebWindow.java:181)<br>
at com.meterware.httpunit.WebWindow.getResponse(WebWindow.java:158)<br>
at com.meterware.httpunit.WebClient.getResponse(WebClient.java:122)<br>
at com.patientsafesolutions.test.http.Request.submit(Request.java:115)<br>
at com.patientsafesolutions.test.http.Request.post(Request.java:20)<br>
at com.patientsafesolutions.api.httptest.LogicalViewHttpTest.navigateToHome(LogicalViewHttpTest.java:57)<br>
at com.patientsafesolutions.api.httptest.LogicalViewHttpTest.navigateToPatient(LogicalViewHttpTest.java:100)<br>
at com.patientsafesolutions.api.httptest.HomeTests.homeLogicalView(HomeTests.java:14)<br>
at com.patientsafesolutions.api.httptest.HomeTests$1.run(HomeTests.java:23)<br>
at com.patientsafesolutions.test.http.HttpTest$ThreadWithThrowable$1.run(HttpTest.java:241)<br>
at java.lang.Thread.run(Thread.java:637)<br>
<br>
org.hibernate.exception.GenericJDBCException: Cannot release connection<br>
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)<br>
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)<br>
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)<br>
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29)<br>
at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:455)<br>
at org.hibernate.jdbc.ConnectionManager.aggressiveRelease(ConnectionManager.java:406)<br>
at org.hibernate.jdbc.ConnectionManager.afterTransaction(ConnectionManager.java:298)<br>
at org.hibernate.jdbc.JDBCContext.afterTransactionCompletion(JDBCContext.java:225)<br>
at org.hibernate.transaction.CacheSynchronization.afterCompletion(CacheSynchronization.java:85)<br>
at bitronix.tm.BitronixTransaction.fireAfterCompletionEvent(BitronixTransaction.java:416)<br>
at bitronix.tm.BitronixTransaction.commit(BitronixTransaction.java:195)<br>
at bitronix.tm.BitronixTransactionManager.commit(BitronixTransactionManager.java:95)<br>
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:258)<br>
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.startProcess(CommandBasedStatefulKnowledgeSession.java:163)<br>
at com.patientsafesolutions.application.controllers.DroolsWorkflowController.startWorkflowProcess(DroolsWorkflowController.java:310)<br>
at com.patientsafesolutions.application.controllers.DroolsWorkflowController.drools(DroolsWorkflowController.java:85)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br>
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)<br>
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)<br>
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)<br>
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)<br>
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)<br>
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)<br>
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)<br>
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)<br>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)<br>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<br>
at com.meterware.servletunit.InvocationContextImpl.service(InvocationContextImpl.java:76)<br>
at com.meterware.servletunit.ServletUnitClient.newResponse(ServletUnitClient.java:126)<br>
at com.meterware.httpunit.WebClient.createResponse(WebClient.java:667)<br>
at com.meterware.httpunit.WebWindow.getResource(WebWindow.java:220)<br>
at com.meterware.httpunit.WebWindow.getSubframeResponse(WebWindow.java:181)<br>
at com.meterware.httpunit.WebWindow.getResponse(WebWindow.java:158)<br>
at com.meterware.httpunit.WebClient.getResponse(WebClient.java:122)<br>
at com.patientsafesolutions.test.http.Request.submit(Request.java:115)<br>
at com.patientsafesolutions.test.http.Request.post(Request.java:20)<br>
at com.patientsafesolutions.api.httptest.LogicalViewHttpTest.navigateToHome(LogicalViewHttpTest.java:57)<br>
at com.patientsafesolutions.api.httptest.LogicalViewHttpTest.navigateToPatient(LogicalViewHttpTest.java:100)<br>
at com.patientsafesolutions.api.httptest.HomeTests.homeLogicalView(HomeTests.java:14)<br>
at com.patientsafesolutions.api.httptest.HomeTests$1.run(HomeTests.java:23)<br>
at com.patientsafesolutions.test.http.HttpTest$ThreadWithThrowable$1.run(HttpTest.java:241)<br>
at java.lang.Thread.run(Thread.java:637)<br>
Caused by: java.sql.SQLException: error requeueing a JdbcPooledConnection from datasource jdbc/processInstanceDS in state ACCESSIBLE wrapping com.mysql.jdbc.jdbc2.optional.MysqlXAConnection@4128dca6<br>
at bitronix.tm.resource.jdbc.JdbcPooledConnection.release(JdbcPooledConnection.java:148)<br>
at bitronix.tm.resource.jdbc.JdbcConnectionHandle.close(JdbcConnectionHandle.java:77)<br>
at org.hibernate.connection.DatasourceConnectionProvider.closeConnection(DatasourceConnectionProvider.java:74)<br>
at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:451)<br>
... 40 more<br>
Caused by: bitronix.tm.internal.BitronixSystemException: cannot close a resource when its XAResource is taking part in an unfinished global transaction<br>
at bitronix.tm.resource.common.TransactionContextHelper.requeue(TransactionContextHelper.java:117)<br>
at bitronix.tm.resource.jdbc.JdbcPooledConnection.release(JdbcPooledConnection.java:146)<br>
... 43 more<br>
<br>
<br>
java.lang.IllegalArgumentException: Unknown node instance type: org.drools.workflow.instance.node.ActionNodeInstance@2b7194a4<br>
at org.drools.marshalling.impl.AbstractProcessInstanceMarshaller.writeNodeInstanceContent(AbstractProcessInstanceMarshaller.java:243)<br>
at org.drools.marshalling.impl.AbstractProcessInstanceMarshaller.writeNodeInstance(AbstractProcessInstanceMarshaller.java:117)<br>
at org.drools.marshalling.impl.AbstractProcessInstanceMarshaller.writeProcessInstance(AbstractProcessInstanceMarshaller.java:106)<br>
at org.drools.persistence.processinstance.ProcessInstanceInfo.update(ProcessInstanceInfo.java:237)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br>
at org.hibernate.ejb.event.BeanCallback.invoke(BeanCallback.java:23)<br>
at org.hibernate.ejb.event.EntityCallbackHandler.callback(EntityCallbackHandler.java:80)<br>
at org.hibernate.ejb.event.EntityCallbackHandler.preUpdate(EntityCallbackHandler.java:65)<br>
at org.hibernate.ejb.event.EJB3FlushEntityEventListener.invokeInterceptor(EJB3FlushEntityEventListener.java:41)<br>
at org.hibernate.event.def.DefaultFlushEntityEventListener.handleInterception(DefaultFlushEntityEventListener.java:308)<br>
at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:248)<br>
at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:128)<br>
at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)<br>
at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)<br>
at org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:35)<br>
at org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)<br>
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)<br>
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)<br>
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67)<br>
at org.drools.persistence.processinstance.JPASignalManager.getProcessInstancesForEvent(JPASignalManager.java:53)<br>
at org.drools.persistence.processinstance.JPASignalManager.signalEvent(JPASignalManager.java:29)<br>
at org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.setState(WorkflowProcessInstanceImpl.java:191)<br>
at org.drools.workflow.instance.node.EndNodeInstance.internalTrigger(EndNodeInstance.java:56)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:148)<br>
at org.drools.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:74)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:148)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:135)<br>
at org.drools.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:62)<br>
at org.drools.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:58)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:148)<br>
at org.drools.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:74)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:112)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:148)<br>
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:135)<br>
at org.drools.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:37)<br>
at org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:101)<br>
at org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:82)<br>
at org.drools.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:192)<br>
at org.drools.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:246)<br>
at org.drools.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:222)<br>
at org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:258)<br>
at org.drools.persistence.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:96)<br>
at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:46)<br>
at org.drools.command.runtime.process.CompleteWorkItemCommand.execute(CompleteWorkItemCommand.java:12)<br>
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:254)<br>
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession$1.completeWorkItem(CommandBasedStatefulKnowledgeSession.java:118)<br>
at com.patientsafesolutions.application.controllers.DroolsWorkflowController.drools(DroolsWorkflowController.java:113)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br>
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>
at java.lang.reflect.Method.invoke(Method.java:597)<br>
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)<br>
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)<br>
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)<br>
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)<br>
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)<br>
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)<br>
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)<br>
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:563)<br>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)<br>
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)<br>
at com.meterware.servletunit.InvocationContextImpl.service(InvocationContextImpl.java:76)<br>
at com.meterware.servletunit.ServletUnitClient.newResponse(ServletUnitClient.java:126)<br>
at com.meterware.httpunit.WebClient.createResponse(WebClient.java:667)<br>
at com.meterware.httpunit.WebWindow.getResource(WebWindow.java:220)<br>
at com.meterware.httpunit.WebWindow.getSubframeResponse(WebWindow.java:181)<br>
at com.meterware.httpunit.WebWindow.getResponse(WebWindow.java:158)<br>
at com.meterware.httpunit.WebClient.getResponse(WebClient.java:122)<br>
at com.patientsafesolutions.test.http.Request.submit(Request.java:115)<br>
at com.patientsafesolutions.test.http.Request.post(Request.java:25)<br>
at com.patientsafesolutions.api.httptest.LogicalViewHttpTest.loginUser(LogicalViewHttpTest.java:80)<br>
at com.patientsafesolutions.api.httptest.LogicalViewHttpTest.navigateToPatient(LogicalViewHttpTest.java:102)<br>
at com.patientsafesolutions.api.httptest.HomeTests.homeLogicalView(HomeTests.java:14)<br>
at com.patientsafesolutions.api.httptest.HomeTests$1.run(HomeTests.java:23)<br>
at com.patientsafesolutions.test.http.HttpTest$ThreadWithThrowable$1.run(HttpTest.java:241)<br>
at java.lang.Thread.run(Thread.java:637)<br>
<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</blockquote></div><br><br clear="all"><br>-- <br> - CTO @ <a href="http://www.plugtree.com">http://www.plugtree.com</a>  <br> - MyJourney @ <a href="http://salaboy.wordpress.com">http://salaboy.wordpress.com</a><br> - Co-Founder @ <a href="http://www.jbug.com.ar">http://www.jbug.com.ar</a><br>
 <br> - Salatino &quot;Salaboy&quot; Mauricio -<br>