[
https://issues.apache.org/jira/browse/ODE-730?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Ahn updated ODE-730:
-------------------------
Description:
Explanation:
1. An instance is created from a process definition. The instance gets 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 message to 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
resolve 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.
was:
Explanation:
1. An instance is created from a process definition. The instance gets 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.
> 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 gets
> 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 message to 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
> resolve 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.