]
Ronald van Kuijk commented on JBPM-479:
---------------------------------------
is this still an issue in 3.2?
Option to allow Tokens with activechildren not to continue
transition
---------------------------------------------------------------------
Key: JBPM-479
URL:
http://jira.jboss.com/jira/browse/JBPM-479
Project: JBoss jBPM
Issue Type: Feature Request
Components: Core Engine
Affects Versions: jBPM 3.1 alpha 1
Environment: any
Reporter: Elmo
Assigned To: Tom Baeyens
Priority: Optional
When a process instance (root token) is signalled in a fork, or in a subprocess, the
process continues via the default leaving node. This is quite misleading. In my opinion
the desired behavior would be blocking (i.e. means all child tokens must have ended)
before continuing the transition. Although this can be managed through code, signalling
the token (fork) by accident would give undesired results. If possible, I would like an
option to stop the token from continuing if there are still active children. The code
below illustrates this:
source: Token
public void signal() {
//initial checking
//proposed code: if option is used by developer, block the signal if there are
active children
if( (CHECK_ACTIVECHILDREN_OPTION) && (this.hasActiveChildren()) )
throw new IllegalStateException( "Cannot signal " + this + " if
there are active children" );
//signal routine
}
This option is false by default. I leave it to the group how they will set the option,
either through the node definition (private) or to the process definition or maybe even
through system properties (global). The users who will implement this must be aware of
the consequences i.e. it is their responsibility to end the child tokens themselves or
else it can never continue. This is only an option. I have not fully tested or did a full
test case on the side effects of this, so I would appreciate if somebody could point this
out because I have it implemented in my code. Thanks.
Regards,
Elmo
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: