[ 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)