[jboss-user] [JBoss jBPM] - Re: replication of task at runtime
WalterTaus
do-not-reply at jboss.com
Fri Jun 6 11:11:39 EDT 2008
Hi,
I have now implemented this ForEachForkHandler and it works. However, I have now come up with an extended scenario.
In my ForEachForkHandler I create 4 tasks. However, in specific situations I want already to continue when the first two tasks are completed. Therefore, I have tried to implement a kind of housekeeping handler which I call from the join to get rid of the "unnecessary" tasks.
My process consists of
1) fork
2) 4 activities which have been generated by the ForEachForkHandler
3) join
When entering the join I call setNOutOfM with an appropriate value. Secondly I invoke the handler listed below:
| ublic class MultiinstanceHouseKeepingHandler implements ActionHandler {
|
| @Override
| public void execute(ExecutionContext ctx) throws Exception {
| // TODO Auto-generated method stub
| Token t = ctx.getToken();
| Collection til = ctx.getTaskMgmtInstance().getTaskInstances();
| Map childTokenList = t.getParent().getChildren();
| Set ks = childTokenList.keySet();
| Iterator it = ks.iterator();
| while (it.hasNext()) {
| Token ct = (Token)childTokenList.get(it.next());
| if (ct == t)
| continue;
| Iterator itil = til.iterator();
| while (itil.hasNext()) {
| TaskInstance ti = (TaskInstance)itil.next();
| if (ti.getToken() == ct) {
| ti.cancel();
| ct.end();
| break;
| }
| }
| }
| }
| }
|
The process continues correctly with the task following the join. However, I cannot get rid of the other unwanted tasks and they stay forever on my worklist.
What am I doing wrong here?
Thanks,
Walter
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4156348#4156348
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4156348
More information about the jboss-user
mailing list