[rules-users] ProcessInstance Does Not Complete With User Task and Rule Task
nfox241
nfox at dragonflyware.com
Thu Dec 17 13:08:33 EST 2009
Hey Kris,
updating to the latest snapshot, did it.
thanks,
Nick
Kris Verlaenen wrote:
>
> Hi,
>
> I executed the process you provided and do not seem to have any problems
> with it. This is the output:
>
> ### Starting process ###
> ### Completing second work item ###
> Finished!!!
>
> Could you try your code with the latest snapshot releases?
>
> Kris
>
> Quoting nfox241 <nfox at dragonflyware.com>:
>
>>
>> I have a flow: start -- User Task - Rule Task - User Task - Action -
>> end.
>>
>> I complete the 1st User Task, next the rules which are part of the
>> RuleFlowGroup in the Rule Task fire correctly, then I complete the
>> next User
>> Task. However, my final action node is never reached and the
>> processInstance
>> never completes.
>>
>> Here is my Rule Flow:
>> ?xml version="1.0" encoding="UTF-8"?>
>> <process xmlns="http://drools.org/drools-5.0/process"
>> xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
>> xs:schemaLocation="http://drools.org/drools-5.0/process
>> drools-processes-5.0.xsd"
>> type="RuleFlow" name="droolsflow"
>> id="org.plugtree.labs.droolsflow"
>> package-name="org.plugtree.labs" >
>>
>> <header>
>> <imports>
>> <import name="org.plugtree.labs.variablepersistence.MyEntity"
>> />
>> <import
>> name="org.plugtree.labs.variablepersistence.MyVariableSerializable"
>> />
>> </imports>
>> </header>
>>
>> <nodes>
>> <ruleSet id="17" name="ruleMe" x="410" y="123" width="80"
>> height="48"
>> ruleFlowGroup="fox" />
>> <start id="1" name="Start" x="16" y="16" width="48" height="48"
>> />
>> <end id="3" name="End" x="665" y="312" width="48" height="48" />
>> <humanTask id="23" name="User Task" x="279" y="237" width="100"
>> height="48" >
>> <work name="Human Task" >
>> <parameter name="ActorId" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Comment" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Content" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Priority" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Skippable" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="TaskName" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> </work>
>> </humanTask>
>> <humanTask id="22" name="User Task" x="145" y="86" width="100"
>> height="48" >
>> <work name="Human Task" >
>> <parameter name="ActorId" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Comment" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Content" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Priority" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="Skippable" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> <parameter name="TaskName" >
>> <type
>> name="org.drools.process.core.datatype.impl.type.StringDataType" />
>> </parameter>
>> </work>
>> </humanTask>
>> <actionNode id="12" name="Finish" x="494" y="254" width="80"
>> height="48"
>> >
>> <action type="expression" dialect="mvel"
>> >System.out.println("Finished!!!");</action>
>> </actionNode>
>> </nodes>
>>
>> <connections>
>> <connection from="22" to="17" />
>> <connection from="12" to="3" />
>> <connection from="17" to="23" />
>> <connection from="1" to="22" />
>> <connection from="23" to="12" />
>> </connections>
>>
>> </process>
>>
>>
>> And test code:
>> KnowledgeBuilder kbuilder =
>> KnowledgeBuilderFactory.newKnowledgeBuilder();
>> kbuilder.add( new ClassPathResource(
>> "VariablePersistenceStrategyProcess.rf" ), ResourceType.DRF );
>> kbuilder.add( new ClassPathResource( "myRules.drl" ),
>> ResourceType.DRL );
>>
>> for (KnowledgeBuilderError error: kbuilder.getErrors()) {
>> System.out.println(error);
>> }
>> KnowledgeBase kbase =
>> KnowledgeBaseFactory.newKnowledgeBase();
>> kbase.addKnowledgePackages( kbuilder.getKnowledgePackages()
>> );
>>
>> EntityManagerFactory emf =
>> Persistence.createEntityManagerFactory("org.drools.persistence.jpa");
>> Environment env = KnowledgeBaseFactory.newEnvironment();
>> env.set(EnvironmentName.ENTITY_MANAGER_FACTORY, emf);
>>
>> StatefulKnowledgeSession ksession =
>> JPAKnowledgeService.newStatefulKnowledgeSession( kbase, null, env );
>> int id = ksession.getId();
>>
>> System.out.println("### Starting process ###");
>> WorkflowProcessInstance processInstance =
>> (WorkflowProcessInstance)
>> ksession.startProcess( "org.plugtree.labs.droolsflow"
>> /*,parameters*/ );
>>
>>
>> TestWorkItemHandler handler =
>> TestWorkItemHandler.getInstance();
>> WorkItem workItem = handler.getWorkItem();
>>
>> ksession = JPAKnowledgeService.loadStatefulKnowledgeSession(
>> id,
>> kbase, null, env );
>> processInstance = (WorkflowProcessInstance)
>> ksession.getProcessInstance( processInstance.getId() );
>>
>> ksession.getWorkItemManager().completeWorkItem(
>> workItem.getId(),
>> null );
>> workItem = handler.getWorkItem();
>>
>> ksession =
>> JPAKnowledgeService.loadStatefulKnowledgeSession(id,
>> kbase, null, env);
>> processInstance = (WorkflowProcessInstance)
>> ksession.getProcessInstance(processInstance.getId());
>>
>> System.out.println("### Completing second work item ###");
>> ksession.getWorkItemManager().completeWorkItem(workItem.getId(),
>> null);
>>
>>
>>
>> --
>> View this message in context:
>>
> http://n3.nabble.com/ProcessInstance-Does-Not-Complete-With-User-Task-and-Rule-Task-tp90667p90667.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://n3.nabble.com/ProcessInstance-Does-Not-Complete-With-User-Task-and-Rule-Task-tp90667p93393.html
Sent from the Drools - User mailing list archive at Nabble.com.
More information about the rules-users
mailing list