Monday 27 January 2014



In this JCA Error Handling Part 3 we will learn about outbound adapter interaction error handler.

Outbound Adapter Interaction Error Handling
Outbound Interaction errors occur with messages that have interactions outbound from an adapter

Retryable Errors for Outbound Adapter Error Handling


For retryable exceptions for outbound error handling, you must set the value of jca.retry.count to the number of times the retry is to be carried out. However, if you have not set any value for jca.retry.count, the retry is carried out by the fault policy, if you have included the fault policy as part of the composite.

<reference name="Outbound">
<interface.wsdl interface="http://xmlns...#wsdl.interface(Outbound_PortType)"/>
<binding.jca config="Outbound_jms.jca">
<property name="jca.retry.count">5</property>
<property name="jca.retry.interval">1</property>
<property name="jca.retry.backoff">2</property>
<property name="jca.retry.maxInterval">6</property>
<property name="jca.retry.maxPeriod">30</property>
</binding.jca>
</reference>

Non-Retryable Errors for Outbound Interaction Handling
You can handle non-retryable exceptions for outbound interactions by defining the maximum number of reconnection attempts that can be made in the fault-policy.xml file. 


In this fault policy file, you specify the parameters for reconnection attempts

<faultName xmlns:bplex=http://schemas.oracle.com/bpel/extension name='bplex;bindingFault">
<condition>
<action ref="ora-retry"/>
</faultName>
</condition>
<Actions>
<Action id="ora-retry">
<retry>
<retryCount>10</retryCount>
<retryInterval>2</retryInterval>
<exponentialBackoff>2</exponentialBackoff>
</retry>
</Action>
</Actions>


You must associate a fault policy with a reference end point of the composite in fault-bindings.xml file, with the
faultPolicy ConnectionFaults and the reference name writeMessageToQueue.

<?xml version="1.0" encoding="UTF-8"?>
<faultPolicyBindings version="2.0.1"
xmlns="http://schemas.oracle.com/bpel/faultpolicy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<reference faultPolicy="ConnectionFaults">
<name>writeMessageToQueue</name>
</reference>
</faultPolicyBindings>

After the configured number of retries is reached without a positive result, the Service Infrastructure Invocation exception is thrown.


Two Cases When the Fault Policy Mechanism Does Not Work

Outbound Adapters in XA Mode: The fault policy mechanism does not work for outbound adapters in XA mode. For example, in XA mode, if you want the fault policy to retry when the outbound adapter fails, it does not retry and any outbound adapter that has been successful before this failure occurred does not rollback messages.

Outbound Adapter in Mediator Sequential Routing: Fault policies also do not work for the outbound adapter that is invoked in Mediator sequential routing, because the mediator fault policies are applicable to parallel routing rules only.
 

1 comments: