]
Ronald van Kuijk commented on JBPM-2537:
----------------------------------------
The timer does not know what it is signalling. It could be every one of the activities. So
if the signature of the signal method is changed in any way, it has to be changed for all
activities. Also the ones that are already developed by others. The same is true for e.g.
wrapping the current signal method in a timeout method. Maybe we can check via some kind
of reflection if a specific method is there and if not, use the current method. It's
all about the ExternalActivityBehaviour interface.
But to some extend, abusing this parameter variable is just as wrong. If existing
implemented activities doe not strip the JBPM_TIMEOUT of, there is an additional variable.
Or using the signal name to append/prepend something... or....
So in any case, we are most likely going to break backwards compatibility... unless I miss
something
A triggered timer does not end the task which is left
-----------------------------------------------------
Key: JBPM-2537
URL:
https://jira.jboss.org/jira/browse/JBPM-2537
Project: jBPM
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Runtime Engine
Affects Versions: jBPM 4.1, jBPM 4.0
Reporter: Alexis Seigneurin
Assignee: Tom Baeyens
Priority: Critical
Fix For: jBPM 4.4
Attachments: jbpm-2537-patch, screenshot-1.jpg, workflow-test-jbpm4.1.zip
In my process definition, "task1" has a transition with a due date. When this
timer is triggered by the job executor, the transition takes the process to
"task2" but "task1" still looks active. For instance, when I run a
"task query", instead of only finding "task2", both "task1"
and "task2" are found.
Here is my process definition:
<?xml version="1.0" encoding="UTF-8"?>
<process name="test1"
xmlns="http://jbpm.org/4.0/jpdl">
<start g="-9,192,48,48" name="start1">
<transition g="-44,-18" name="to task3"
to="task3" />
</start>
<end g="490,192,48,48" name="end1" />
<task g="272,189,92,52" name="task1">
<transition g="-42,-18" name="to end1" to="end1"
/>
<transition g="-45,-18" name="to java1"
to="reminder">
<timer duedate="10 seconds" />
</transition>
</task>
<java class="fr.idm.SimpleReminder" g="272,316,92,52"
method="remind" name="reminder">
<transition to="task2" />
</java>
<end g="626,319,48,48" name="end2" />
<task g="454,316,92,52" name="task2">
<transition g="-42,-18" name="to end2" to="end2"
/>
</task>
<task g="113,189,92,52" name="task3">
<transition g="-44,-18" to="task1" name="to
end1" />
</task>
</process>
For testing purpose, I introduced "task3" before "task1". It is not
listed by the task query, which makes me think that, once "task1" is left, it
should no longer be active.
This looks like
https://jira.jboss.org/jira/browse/JBPM-967 but the suggested solution
does not seem applicable to JBPM 4.x.
I will attached the whole source code.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: