[jboss-user] [JBoss jBPM] - Fork/Join Problem

freak182 do-not-reply at jboss.com
Thu May 28 01:42:10 EDT 2009


Hello,

I've stuck with this for more than a week. here is my process def:


  | <?xml version="1.0" encoding="UTF-8"?>
  | <process-definition  xmlns=""  name="forktest">
  | 	<description>
  | 		a test for fork/join workflow
  | 	</description>
  | 	<start-state name="Start">
  | 		<transition to="fork"></transition>
  | 	</start-state>
  | 
  | 	<fork name="fork">
  | 		<transition to="approver A" name="fk1"></transition>
  | 		<transition to="approver B" name="fk2"></transition>
  | 	</fork>
  | 	<task-node name="approver A">
  | 		<task name="FORKAPPRVA">
  | 			<description>
  | 				Please approve A
  | 			</description>
  | 			<assignment class="com.ccti.los.WfAssignment">
  | 				<pooledactors>
  | 					CORBANK
  | 				</pooledactors>
  | 			</assignment>
  | 		</task>
  | 		<transition to="join" name="jn1"></transition>
  | 	</task-node>
  | 	<task-node name="approver B">
  | 		<task name="FORKAPPRVB">
  | 			<description>
  | 				Please approve B
  | 			</description>
  | 			<assignment class="com.ccti.los.WfAssignment">
  | 				<pooledactors>
  | 					APPROVERS
  | 				</pooledactors>
  | 			</assignment>
  | 		</task>
  | 		<transition to="join" name="jn2"></transition>
  | 	</task-node>
  | 	<join name="join">
  | 		<event type="node-enter">
  | 			<script name="joinscript">
  | 				System.out.println("join: node enter events");
  | 			</script>
  | 		</event>
  | 		<event type="node-leave">
  | 			<script name="nodeleavescript">
  | 				System.out.println("join: leaving join");
  | 			</script>
  | 		</event>
  | 		<transition to="Review Document"></transition>
  | 	</join>
  | 	<task-node name="Review Document">
  | 		<task name="FORKREVDOC">
  | 			<description>
  | 				Document for review
  | 			</description>
  | 			<assignment class="com.ccti.los.WfAssignment">
  | 				<pooledactors>
  | 					CORBANK
  | 				</pooledactors>
  | 			</assignment>
  | 		</task>
  | 		<event type="node-enter">
  | 			<script name="revscript">
  | 				System.out.println("Entering review doc task");
  | 			</script>
  | 		</event>
  | 		<transition to="End"></transition>
  | 	</task-node>
  | 	<end-state name="End"></end-state>
  | 
  | </process-definition>
  | 

and here some trace:


  | taskInstanceId = 30
  | path Id = 16- at fk1
  | 13:28:21,718 DEBUG - JbpmContextInfo            - creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
  | 13:28:21,718 DEBUG - JbpmContext                - creating org.jbpm.JbpmContext at 1bdffcb
  | 13:28:21,718 DEBUG - bPersistenceServiceFactory - creating persistence service
  | 13:28:21,718 DEBUG - DbPersistenceService       - injecting a session disables transaction
  | 13:28:21,734 DEBUG - GraphElement               - event 'before-signal' on 'TaskNode(approver A)' for 'Token(/fk1)'
  | 13:28:21,750 DEBUG - GraphElement               - event 'node-leave' on 'TaskNode(approver A)' for 'Token(/fk1)'
  | 13:28:21,750 DEBUG - GraphElement               - event 'transition' on 'Transition(jn1)' for 'Token(/fk1)'
  | 13:28:21,750 DEBUG - GraphElement               - event 'node-enter' on 'Join(join)' for 'Token(/fk1)'
  | 13:28:21,750 WARN  - ProxyWarnLog               - Narrowing proxy to class org.jbpm.graph.node.Join - this operation breaks ==
  | 13:28:21,765 DEBUG - GraphElement               - executing action 'action[joinscript]'
  | 13:28:21,765 DEBUG - Token                      - token[38] is locked by token[38]
  | 13:28:21,781 DEBUG - Script                     - script input: {node=Join(join), token=Token(/fk1), task=null, executionContext=ExecutionContext[Token(/fk1)], taskInstance=null}
  | join: node enter events
  | 13:28:21,875 DEBUG - Script                     - script output: {}
  | 13:28:21,875 DEBUG - Token                      - token[38] is unlocked by token[38]
  | 13:28:21,875 DEBUG - Join                       - acquiring FORCE lock on Token(/)
  | 13:28:21,890 DEBUG - Join                       - join will not yet reactivate parent: found concurrent token 'Token(/fk2)'
  | 13:28:21,890 DEBUG - GraphElement               - event 'after-signal' on 'TaskNode(approver A)' for 'Token(/fk1)'
  | 13:28:21,890 DEBUG - Services                   - executing default save operations
  | 13:28:21,890 DEBUG - HibernateSaveOperation     - saving process instance
  | 13:28:21,890 DEBUG - SaveLogsOperation          - flushing logs to logging service.
  | 13:28:21,937 DEBUG - CascadeSaveOperation       - cascading save of 'ProcessInstance(c8853452-9330-490c-91d6-ac42f8a40a96)'
  | 13:28:21,937 DEBUG - JbpmContext                - closing jbpmContext org.jbpm.JbpmContext at 1bdffcb
  | 13:28:21,937 DEBUG - Services                   - closing service 'logging': org.jbpm.logging.db.DbLoggingService at 800a9e
  | 13:28:21,937 DEBUG - Services                   - closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService at 392c27
  | 13:28:21,937 DEBUG - Services                   - closing service 'tx': org.jbpm.tx.TxService at 181bfd7
  | 
  | taskInstanceId = 29
  | path Id = 16- at fk2
  | 13:29:41,484 DEBUG - JbpmContextInfo            - creating jbpm context with service factories '[message, tx, scheduler, authentication, persistence, logging]'
  | 13:29:41,484 DEBUG - JbpmContext                - creating org.jbpm.JbpmContext at 1f4bcdb
  | 13:29:41,484 DEBUG - bPersistenceServiceFactory - creating persistence service
  | 13:29:41,484 DEBUG - DbPersistenceService       - injecting a session disables transaction
  | 13:29:41,500 DEBUG - GraphElement               - event 'before-signal' on 'TaskNode(approver B)' for 'Token(/fk2)'
  | 13:29:41,515 DEBUG - GraphElement               - event 'node-leave' on 'TaskNode(approver B)' for 'Token(/fk2)'
  | 13:29:41,515 DEBUG - GraphElement               - event 'transition' on 'Transition(jn2)' for 'Token(/fk2)'
  | 13:29:41,515 DEBUG - GraphElement               - event 'node-enter' on 'Join(join)' for 'Token(/fk2)'
  | 13:29:41,515 WARN  - ProxyWarnLog               - Narrowing proxy to class org.jbpm.graph.node.Join - this operation breaks ==
  | 13:29:41,515 DEBUG - GraphElement               - executing action 'action[joinscript]'
  | 13:29:41,515 DEBUG - Token                      - token[37] is locked by token[37]
  | 13:29:41,515 DEBUG - Script                     - script input: {node=Join(join), token=Token(/fk2), task=null, executionContext=ExecutionContext[Token(/fk2)], taskInstance=null}
  | join: node enter events
  | 13:29:41,531 DEBUG - Script                     - script output: {}
  | 13:29:41,531 DEBUG - Token                      - token[37] is unlocked by token[37]
  | 13:29:41,531 DEBUG - Join                       - acquiring FORCE lock on Token(/)
  | 13:29:41,546 DEBUG - Join                       - join will not yet reactivate parent: found concurrent token 'Token(/fk1)'
  | 13:29:41,546 DEBUG - GraphElement               - event 'after-signal' on 'TaskNode(approver B)' for 'Token(/fk2)'
  | 13:29:41,546 DEBUG - Services                   - executing default save operations
  | 13:29:41,546 DEBUG - HibernateSaveOperation     - saving process instance
  | 13:29:41,546 DEBUG - SaveLogsOperation          - flushing logs to logging service.
  | 13:29:41,562 DEBUG - CascadeSaveOperation       - cascading save of 'ProcessInstance(c8853452-9330-490c-91d6-ac42f8a40a96)'
  | 13:29:41,562 DEBUG - JbpmContext                - closing jbpmContext org.jbpm.JbpmContext at 1f4bcdb
  | 13:29:41,562 DEBUG - Services                   - closing service 'logging': org.jbpm.logging.db.DbLoggingService at 7ad4d5
  | 13:29:41,562 DEBUG - Services                   - closing service 'persistence': org.jbpm.persistence.db.DbPersistenceService at 2aee3f
  | 13:29:41,562 DEBUG - Services                   - closing service 'tx': org.jbpm.tx.TxService at 7f788b
  | 
  | 

I already read some related topics here in forum but no luck to solve my problem. And seems that how much i try modify my definition still it wont work. Still stuck on join and the task before join is not ended.

Thanks a lot.
Cheers.

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

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



More information about the jboss-user mailing list