[ 
https://issues.apache.org/jira/browse/ODE-730?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sathwik Bantwal Premakumar resolved ODE-730.
--------------------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: 1.4)

> 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: Sathwik Bantwal Premakumar
>             Fix For: 1.3.7
>
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to