there is a kind of loose relation between the execution and the task. loads of
possibilities. this is an attempt to come to a comprehensive set of task proeprties in
jpdl so that a) the properties are intuitive and b) they cover all use cases scenarios.
so the following i would see as attributes on the task activity in jpdl:
completion = "last | first | unsynchronized | {int} | {percentage}"
completion indicates when this task is considered complete in the context of subtasks.
last is the default and means that this task is considered complete when the last subtask
completes.
first means that this task is considered complete when the fist subtask completes. The
remaining tasks will be left open. Another attribute remaining-subtasks="keep |
cancel" could be introduced to specify what has to happen with the remaining
subtasks.
unsynchronized means that after creation of the task, the process execution will continue
and the task will remain open.
{int} would specify a number of tasks that have to be completed before this task is
considered completed. potentially, we could add a filter based on outcome of the tasks.
e.g. completion="5 approve, disapprove" would mean that this task completes with
outcome approve when the 5th subtasks completed with outcome approve, otherwise, (when no
5 tasks approve tasks can be reached) this task completes with disapprove.
{percentage} would be similar to {int}, but this time it specifies the number of tasks
that have to be completed as a % of the total number of tasks.
on-cancel = "continue | cascade | throw"
on-cancel specifies what needs to happen when this task is cancelled.
continue is the default and means that the execution is triggered when this task is
cancelled.
cascade means that the whole process instance is cancelled when this task is cancelled
throw means that cancelling this task is not allowed and an exception will be thrown.
on-signal = "keep | cancel"
specifies what happens with this task when the related execution is signalled. this can
happen because of a timer that fires on the tasks or just because this signal is given
programmatically.
keep means that the task is left as is, but the task will be updated so that it will not
signal the execution when it completes.
cancel means that the task is cancelled when the execution is signalled.
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4220566#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...