How to call a Partner Link in a different transaction on Oracle BPEL

You might have stumbled upon a situation where you need your BPEL process to commit some data even though there is fault somewhere in the process.

The thing here is Oracle BPEL will fit every part of your process in a single thread unless you strictly tell it not to. To do that you have to setup a property on your partner link called “idempotent” to “false”, this will tell your BPEL process this parter link must create a new transaction. The config is as follows:

Edit Partner Link

If a fault occurs on this call however, the process itself will still be marked for rollback, in this case you need to invoke this partner link in a dedicated scope, catch the faults and treat them like the example below:

TransactionApplication-Project1-BPELProcess2.bpel

More details on Oracle BPEL transactions can be found here.

My project source code can be found here

Thank you.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s