[jboss-user] [JBoss jBPM] - Strange behaviour when using fork

bungrudi do-not-reply at jboss.com
Wed Mar 5 00:50:48 EST 2008


Hello,

I have a flow that basically does the following:
AO -> RO#1 -> ... -> HBS -> REV_ADM -> REV#1 -> ... -> REV#3 -> 
                                       -> COM_ADM -> COM#1 -> ... ->COM#3 ->

(continued)
join1 -> dropped

on each node, it should be checked whether any user is currently assigned to it. if yes, create a task and assign. if not, continue execution.
my idea to this is to make each task-node "create-task=false", assign an "enter-node" handler that checks whether any user is assigned to the node, and then create task/continue execution.
This solution works fine when the execution path is straightforward (no forking and async execution involved). 
but when "fork" come into play, the behaviour is far from what i expected.

the debug print (from my own code, to simplify the printout) is like the following:

http://www.2shared.com/file/2939237/171d5892/stdout_jbpm.html


as you can see after HBS node it hits the fork node, and it started to execute in a way beyond my comprehension.
yet more strange behaviour is that when the execution is stopped in HBS for a while (created a task and waited for the task to be completed), the printout is far shorter, but still far from what i expected and  still beyond my comprehension:


  | Token(/)264445391 calc auth level
  | Token(/)264445391 review RO #1
  | Token(/)264445391 review RO #2
  | Token(/)264445391 review SRM
  | Token(/)264445391 review GAM
  | Token(/)264445391 review BM
  | Token(/)264445391 review HOBS
  | Token(/)264445391 review HA
  | Token(/)264445391 review HR
  | Token(/)264445391 review HBS
  | Token(/to.pick compliances)264625293 pick compliances
  | Token(/to.pick compliances)264625293 compliance #1
  | Token(/to.pick compliances)264625293 compliance #2
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick compliances)264625293 compliance #2
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick compliances)264625293 compliance #1
  | Token(/to.pick compliances)264625293 compliance #2
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick compliances)264625293 compliance #2
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick compliances)264625293 compliance #3
  | Token(/to.pick reviewer)264625334 pick reviewer
  | Token(/to.pick reviewer)264625334 reviewer #1
  | Token(/to.pick reviewer)264625334 reviewer #2
  | Token(/to.pick reviewer)264625334 reviewer #3
  | Token(/to.pick reviewer)264625334 reviewer #3
  | Token(/to.pick reviewer)264625334 reviewer #2
  | Token(/to.pick reviewer)264625334 reviewer #3
  | Token(/to.pick reviewer)264625334 reviewer #3
  | Token(/to.pick reviewer)264625334 reviewer #1
  | Token(/to.pick reviewer)264625334 reviewer #2
  | Token(/to.pick reviewer)264625334 reviewer #3
  | Token(/to.pick reviewer)264625334 reviewer #3
  | Token(/to.pick reviewer)264625334 reviewer #2
  | Token(/to.pick reviewer)264625334 reviewer #3
  | Token(/to.pick reviewer)264625334 reviewer #3
  | 

i'm expecting that after "review HBS", it should be like

Token(/to.pick compliances)264625293 pick compliances
Token(/to.pick compliances)264625293 compliance #1
Token(/to.pick compliances)264625293 compliance #2
Token(/to.pick compliances)264625293 compliance #3
Token(/to.pick reviewer)264625334 pick reviewer
Token(/to.pick reviewer)264625334 reviewer #1
Token(/to.pick reviewer)264625334 reviewer #2
Token(/to.pick reviewer)264625334 reviewer #3

and then join and finish.

did i do something wrong? is ctx.getNode().leave(ctx) is the wrong way to continue execution? or continuing execution from inside an action handler is not a supported way at all?

the unit test can be downloaded from 

http://www.2shared.com/file/2939148/caa56d9d/fork_test.html

anyone has any insight???

regards,

rudi

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4134120#4134120

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4134120



More information about the jboss-user mailing list