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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...