Respect partner role partner link definitions for instances of old process
revisions
------------------------------------------------------------------------------------
Key: ODE-730
URL: https://issues.apache.org/jira/browse/ODE-730
Project: ODE
Issue Type: Improvement
Components: BPEL Runtime
Reporter: Sean Ahn
Assignee: Sean Ahn
Explanation:
1. An instance is created from a process definition. The instance executed to
the point where it will invoke an external service after a <receive>.
2. A new version of the process is deployed. In the new version, the <invoke>
is removed and so as the partner link definition.
3. A message that correlates to the instance arrives. The <receive> is executed
and the instance invokes the external service. The definition of the partner
links have been changed for the 'process'. The <invoke> on this instance does
not find the parter link definition anymore.
Options:
1. All the other states of the process with a specific version, such as the
bpel logics, are embedded to the instance when the instance is serialized. We
can serialize the definition of the partner links with the instance.
2. When a message arrives, using the service map, we find the target process
first. Then, it becomes too late when we correlate the process instance using
the correlation key values. Reverse the logic here so that if the message is
not an instance creating one, find the instance first and resove the
process(with the right version).
3. The active processes map contains all processes(with at least one active
process instance) by the process id(with version). When creating the
BpelRuntimeContext, look up the active processes map and bind the
BpelRuntimeContext with the correct process version. When an <invoke> is called
on the instance, the correct process version will be used by the
BpelRuntimeContext.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.