<html><body bgcolor="#FFFFFF"><div>You need to start the Mina server before starting the process<br><br>- Ing. Mauricio Salatino -</div><div><br>On Nov 20, 2009, at 6:45 PM, "Todd Pagni" <<a href="mailto:todd.pagni@datacert.com">todd.pagni@datacert.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>
<div class="Section1">
<p class="MsoNormal">I am creating a human task in a flow, but I am unable to get
the human task in the Mina client. Should items that enter a humanTaskNode
go into the task table in addition to the workItemInfo table? Do I need
to do anything to get the work item set as a potential owner for Administrator
so it is returned to the Mina client?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I running drools 5.0.1 in JBoss: <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">
</span></span>Create the human task node in the flow: <o:p></o:p></p>
<p class="MsoListParagraph"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-left:.25in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">
addActionStep(factory, 3).joinNode(4).type(Join.</span><i><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0">TYPE_XOR</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:black">).done().humanTaskNode(5)
</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;
font-family:"Courier New";color:black">
.name(</span><span style="font-size:10.0pt;font-family:"Courier New";
color:#2A00FF">"Approve"</span><span style="font-size:10.0pt;
font-family:"Courier New";color:black">) </span><span style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;
font-family:"Courier New";color:black">
.actorId(</span><span style="font-size:10.0pt;font-family:"Courier New";
color:#2A00FF">"Administrator"</span><span style="font-size:10.0pt;
font-family:"Courier New";color:black">)</span><span style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;
font-family:"Courier New";color:black">
.taskName(</span><span style="font-size:10.0pt;font-family:"Courier New";
color:#2A00FF">"Approve"</span><span style="font-size:10.0pt;
font-family:"Courier New";color:black">)</span><span style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;
font-family:"Courier New";color:black">
.comment(</span><span style="font-size:10.0pt;font-family:"Courier New";
color:#2A00FF">"hi"</span><span style="font-size:10.0pt;font-family:
"Courier New";color:black">)</span><span style="font-size:10.0pt;font-family:
"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";
color:black"> .content(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"random
content"</span><span style="font-size:10.0pt;font-family:"Courier New";
color:black">)</span> <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">
</span></span>Start the flow process (after this step I a row in the
workItemInfo table): <o:p></o:p></p>
<p class="MsoListParagraph"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> StatefulKnowledgeSession
ksession = </span><span style="font-size:10.0pt;font-family:"Courier New";
color:#0000C0">km</span><span style="font-size:10.0pt;font-family:"Courier New";
color:black">.getSession(kb);</span><span style="font-size:10.0pt;font-family:
"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black">
</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> WSHumanTaskHandler
approveTask = </span><b><span style="font-size:10.0pt;font-family:"Courier New";
color:#7F0055">new</span></b><span style="font-size:10.0pt;font-family:"Courier New";
color:black"> WSHumanTaskHandler(); </span><span style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New";color:#3F7F5F">/* Setup
<u>workitemmanager</u> here? */</span><span style="font-size:10.0pt;font-family:
"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> org.drools.runtime.process.WorkItemManager
wm = ksession.getWorkItemManager();</span><span style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> wm.registerWorkItemHandler(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"Approve"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">, approveTask); </span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black">
</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> </span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black">
ksession.setGlobal(</span><span style="font-size:10.0pt;font-family:"Courier New";
color:#2A00FF">"entity"</span><span style="font-size:10.0pt;
font-family:"Courier New";color:black">, e);</span><span style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black">
</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black">
ksession.startProcess(DuckFlowBuilder.</span><i><span style="font-size:10.0pt;
font-family:"Courier New";color:#0000C0">PROCESS_NAME</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:black">);</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black">
</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph"><span style="font-size:10.0pt;font-family:"Courier New";
color:black"> </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">return</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> ksession;<o:p></o:p></span></p>
<p class="MsoListParagraph"><span style="font-size:10.0pt;font-family:"Courier New";
color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph"><span style="font-size:10.0pt;font-family:"Courier New";
color:black">See the following in the log after this step:<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">14:37:15,349
INFO [STDOUT] Hibernate: insert into SessionInfo (dirty, lastModificationDate,
rulesByteArray, startDate) values (?, ?, ?, ?)</span><span style="font-size:
10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">14:37:15,364
INFO [STDOUT] Hibernate: insert into ProcessInstanceInfo
(lastModificationDate, lastReadDate, processId, processInstanceByteArray,
startDate, state, OPTLOCK) values (?, ?, ?, ?, ?, ?, ?)</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">14:37:15,364
INFO [STDOUT] Entity name: Mallardes, Step: 3</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">14:37:15,364
INFO [STDOUT] Hibernate: insert into WorkItemInfo (creationDate, name,
processInstanceId, state, OPTLOCK, workItemByteArray) values (?, ?, ?, ?, ?, ?)</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><b><span style="font-size:10.0pt;font-family:"Courier New";color:black">14:37:15,364
ERROR [STDERR] Could not find work item handler for Human Task</span></b><b><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></b></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">14:37:15,364
INFO [STDOUT] Hibernate: update ProcessInstanceInfo set
lastModificationDate=?, lastReadDate=?, processId=?,
processInstanceByteArray=?, startDate=?, state=?, OPTLOCK=? where
processInstanceId=? and OPTLOCK=?</span><span style="font-size:10.0pt;
font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">14:37:15,364
INFO [STDOUT] Hibernate: update WorkItemInfo set creationDate=?, name=?,
processInstanceId=?, state=?, OPTLOCK=?, workItemByteArray=? where workItemId=?
and OPTLOCK=?</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoListParagraph"><span style="font-size:10.0pt;font-family:"Courier New";
color:black">14:37:15,364 INFO [STDOUT] Hibernate: update SessionInfo set
dirty=?, lastModificationDate=?, rulesByteArray=?, startDate=? where id=?<o:p></o:p></span></p>
<p class="MsoListParagraph"><o:p> </o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">
</span></span>Start the mina server (don’t see anything in the
task table)<o:p></o:p></p>
<p class="MsoListParagraph" style="text-autospace:none"><span style="font-size:
10.0pt;font-family:"Courier New";color:black"> EntityManagerFactory emf =
Persistence.<i>createEntityManagerFactory</i>(</span><span style="font-size:
10.0pt;font-family:"Courier New";color:#2A00FF">"org.drools.task"</span><span style="font-size:10.0pt;font-family:"Courier New";color:black">);</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.25in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0">taskService</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"> = </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">new</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black">
TaskService(emf,SystemEventListenerFactory.<i>getSystemEventListener</i>())<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.25in;text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New";color:black">
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0">server</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"> = </span><b><span style="font-size:10.0pt;font-family:"Courier New";color:#7F0055">new</span></b><span style="font-size:10.0pt;font-family:"Courier New";color:black"> MinaTaskServer(
</span><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0">taskService</span><span style="font-size:10.0pt;font-family:"Courier New";color:black"> );</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;
font-family:"Courier New";color:black">
Thread thread = </span><b><span style="font-size:10.0pt;font-family:"Courier New";
color:#7F0055">new</span></b><span style="font-size:10.0pt;font-family:"Courier New";
color:black"> Thread( </span><span style="font-size:10.0pt;font-family:"Courier New";
color:#0000C0">server</span><span style="font-size:10.0pt;font-family:"Courier New";
color:black"> );</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;
font-family:"Courier New";color:black">
thread.start();</span><span style="font-size:10.0pt;font-family:"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;
font-family:"Courier New";color:black">
Thread.<i>sleep</i>( 500 );</span><span style="font-size:10.0pt;font-family:
"Courier New""><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";
color:black"> System.</span><i><span style="font-size:10.0pt;font-family:"Courier New";color:#0000C0">out</span></i><span style="font-size:10.0pt;font-family:"Courier New";color:black">.println(</span><span style="font-size:10.0pt;font-family:"Courier New";color:#2A00FF">"Server
started ..."</span><span style="font-size:10.0pt;font-family:"Courier New";
color:black">);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Courier New";
color:black"><o:p> </o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><span style="mso-list:Ignore">4.<span style="font:7.0pt "Times New Roman"">
</span></span>Run the mina client (no results returned)<o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> BlockingTaskSummaryResponseHandler
summaryHandler =<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> new
BlockingTaskSummaryResponseHandler()<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> client.getTasksAssignedAsPotentialOwner("Administrator",
"en-UK",summaryHandler);<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""> List<TaskSummary>
tasks = summaryHandler.getResults();<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Courier New"">Thanks,<br>
Todd<o:p></o:p></span></p>
</div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>rules-users mailing list</span><br><span><a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a></span><br><span><a href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a></span><br></div></blockquote></body></html>