[jboss-user] [JBoss jBPM] - nested branch problems

galanfish do-not-reply at jboss.com
Tue Mar 3 23:44:58 EST 2009


    hi all,
    	
    	i've defined a process like this:
    	
                                        A_a ------------------------------\
                                      /				  \
    	start(waitstate) -> main_fork                                        main_join -> end
                                      \                                    /
                                       \                  B_C_a           /
                                        \               /       \        /
                                          B_a -> B_fork           B_join
                                                        \       /
                                                          B_D_a

    	fork and join activity are using the classes of 'org.jbpm.jpdl.internal.activity.ForkActivity' and 'org.jbpm.jpdl.internal.activity.JoinActivity'
    						   	  
    	ClientProcessDefinition process = ProcessDefinitionBuilder.startProcess("simpleNestedBranch")
  | 		
  | 			.startActivity("start", WaitState.class)
  | 				.initial()
  | 				.transition("main_fork", "to_main_fork")
  | 			.endActivity()
  | 			
  | 			.startActivity("main_fork", ForkActivity.class)
  | 				.transition("A_a", "to_A_a")
  | 				.transition("B_a", "to_B_a")
  | 			.endActivity()
  | 				
  | 				.startActivity("A_a", AutomaticActivity.class)
  | 					.transition("main_join", "to_main_join")
  | 				.endActivity()
  | 				
  | 				.startActivity("B_a", AutomaticActivity.class)
  | 					.transition("B_fork", "to_B_fork")
  | 				.endActivity()
  | 				
  | 				.startActivity("B_fork", ForkActivity.class)
  | 					.transition("B_C_a", "to_B_C_a")
  | 					.transition("B_D_a", "to_B_D_a")
  | 				.endActivity()
  | 				
  | 					.startActivity("B_C_a", AutomaticActivity.class)
  | 						.transition("B_join", "to_B_join")
  | 					.endActivity()
  | 					
  | 					.startActivity("B_D_a", AutomaticActivity.class)
  | 						.transition("B_join", "to_B_join")
  | 					.endActivity()
  | 					
  | 				.startActivity("B_join", JoinActivity.class)
  | 					.transition("main_join", "to_main_join")
  | 				.endActivity()
  | 			
  | 			.startActivity("main_join", JoinActivity.class)
  | 				.transition("end", "to_end")
  | 			.endActivity()
  | 			
  | 			.startActivity("end", EndState.class)	// EndState: implementation of ActivityBehaviour, call execution#end in the #execute
  | 			.endActivity()
  | 		
  | 		.endProcess();
		
	then i deploy and run the testcase with
	
	executionService.startProcessInstanceById("simpleNestedBranch:1", "yyyy2");
  | 	executionService.signalExecutionById("simpleNestedBranch/yyyy2", "to_main_fork");
	
	the result is not as i expected.
	the console print out by this order:

		start -> main_fork	(execution id: simpleNestedBranch/yyyy2) 
				   -> A_a -> main_join (execution id: simpleNestedBranch/yyyy2/to_A_a)
				   -> B_a -> B_fork    (execution id: simpleNestedBranch/yyyy2/to_B_a)
				   -> B_C_a -> B_join  (execution id: simpleNestedBranch/yyyy2/to_B_C_a)
				   -> B_D_a -> B_join  (execution id: simpleNestedBranch/yyyy2/to_B_D_a) 
				   -> main_join	       (execution id: simpleNestedBranch/yyyy2/48)
				   -> end	       (execution id: simpleNestedBranch/yyyy2/49)
				   -> B_C_a -> B_join  (execution id: simpleNestedBranch/yyyy2/to_B_a)
				   
	then i checked the table 'jbpm_execution' in database, the recrods like this:
	dbid	dbversion	               act		name	key	id				state
	47	2		null		null	yyyy2	simpleNestedBranch/yyyy2		inactive
	48	1		69(main_join)	null	null	simpleNestedBranch/yyyy2/48		ended
	49	1		70(end)		null	null	simpleNestedBranch/yyyy2/49		ended
	50	0 		74(B_join)	to_B_a	null	simpleNestedBranch/yyyy2/to_B_a	inactive
	
	the process does not ended as i expected, i suppose that the process would be ended when the activity 'end' finished.
	need some help... any suggestion would be appreciate!!

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

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



More information about the jboss-user mailing list