Instance ReplayerPage added by RafaĆ RusinIntroductionWith instance replayer, you are able to upgrade long running process instance to the newest version. There's an ongoing discussion on apache.org in a feature request: https://issues.apache.org/jira/browse/ODE-483. UsageThe basic use cases for replayer are:
Replayer extends management api by 2 operations: replay and getCommunication (see [attachment|^pmapi.wsdl]). In order to do 1, you invoke:
<pmap:replay xmlns:ns="http://www.apache.org/ode/pmapi/types/2006/08/02/">
<replay>
<ns:upgradeInstance>1234</ns:upgradeInstance>
</replay>
</pmap:replay>
After this operation, you get a new instance in the newest process version. The old one is deleted.
<pmap:getCommunication xmlns:ns="http://www.apache.org/ode/pmapi/types/2006/08/02/">
<getCommunication>
<ns:iid>1234</ns:iid>
</getCommunication>
</pmap:getCommunication>
You will get some instance's communication, like this:
<ns:restoreInstance>
<ns:processType xmlns:p="http://sample.bpel.org/bpel/sample">p:OnEventCorrelation</ns:processType>
<exchange xmlns="http://www.apache.org/ode/pmapi/types/2006/08/02/">
<type>M</type>
<createTime>2009-04-01T16:41:29.873+02:00</createTime>
<service xmlns:sam="http://sample.bpel.org/bpel/sample">sam:OnEventCorrelationInit</service>
<operation>initiate</operation>
<in>
<initiate xmlns:sam="http://sample.bpel.org/bpel/sample" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="">
<payload>abc7</payload>
<payload2>abc8</payload2>
</initiate>
</in>
<out>
<message xmlns="">
<payload>test1</payload>
<payload2/>
</message>
</out>
</exchange>
<exchange xmlns:ns="http://www.apache.org/ode/pmapi/types/2006/08/02/" xmlns="http://www.apache.org/ode/pmapi/types/2006/08/02/">
<type>P</type>
<createTime>2009-04-01T16:41:32.998+02:00</createTime>
<service xmlns:sam="http://sample.bpel.org/bpel/sample">sam:OnEventCorrelation</service>
<operation>initiate</operation>
<in>
<initiate xmlns:sam="http://sample.bpel.org/bpel/sample" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns="">
<payload>abc7</payload>
<payload2>abc8</payload2>
</initiate>
</in>
<out>
<message xmlns="">
<payload>test5</payload>
<payload2/>
</message>
</out>
</exchange>
</ns:restoreInstance>
Then, you execute replay on the other ODE installation to replicate instance:
<pmap:replay xmlns:ns="http://www.apache.org/ode/pmapi/types/2006/08/02/">
<replay>
<ns:restoreInstance>
<ns:processType xmlns:p="http://sample.bpel.org/bpel/sample">p:OnEventCorrelation</ns:processType>
... exchanges
</ns:restoreInstance>
</replay>
</pmap:replay>
And that's it. Time control in BPELTo have control over time in bpel process, there is a new variable introduced, $ode:currentEventDateTime. Implementation notes
Check out attached example from attachment. It contains JBI SA with BPEL process and a SoapUI test case for replayer.
Change Notification Preferences
View Online
|
- [CONF] Apache Ode > Instance Replayer confluence
- [CONF] Apache Ode > Instance Replayer confluence
- [CONF] Apache Ode > Instance Replayer confluence
- [CONF] Apache Ode > Instance Replayer confluence
