Tuesday 25 September 2018

Split your flow trace in BPEL

A quick one today. In the past we suffered from very large flowtraces in SOA Suite 11g, due to which it could happen that a flow trace wasn't parsable in EM. And therefor could not be shown.

Also, you might have other reasons to split up your flow trace. Maybe because you want to have a callee BPEL process that may run for a longer time run on, while the calling BPEL project is redeployed (although I haven't tested that yet, so I'm not sure if that would work).

I did know it should be possible to split up the flow traces by changing the ECID (Execution Context ID). But, haven't seen it and wasn't able to find it. But, today I found the how-to in Oracle Support Note 2278472.1. So, as  a note-to-myself, here it is.

In the invoke activity to a child process you should add the following property:
<bpelx:toProperty name="tracking.ecid" variable="ora:generateGUID()"/>

This will update the tracking.ecid to a GUID.You should/need to do this on the invoke only (not on the receive). It should not cause any collission or conflict, since it generates a Global Unique Identifier.

3 comments :

santosh said...

Hi,

Thanks for the Post ... I tried it but it was not working.
I was pushing the message into the queue with the above mentioned solution in the calling process.I'm expecting multiple instance of the callee process (Queue consumtion Process). This is not working in this scenario.


Please suggest

Martien van den Akker said...

Hi,
In 12c this does not seem to work.

Regards,
Martien

santosh said...

Thanks for the Response.... Is there any solution for 12c in such scenario.

Thanks,
Santosh Sambana.