ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sathwik Bantwal Premakumar (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (ODE-730) Respect partner role partner link definitions for instances of old process revisions
Date Fri, 08 Jul 2016 07:40:11 GMT

     [ 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

View raw message