Resequencer feature has been added to Oracle Service Bus 12c (12.1.3), it utilises the same resequencer engine as Oracle Mediator. The objective of this feature is to provide you with the ability to resequence the incoming messages that arrive in random order and send them to the target services in an orderly manner. In this blog, I will give you a bit more information about this new feature in OSB and how to debug if you encounter an issue.
As mentioned in the official doc, the resequencer doest not support any XML and any SOAP service type, you need to define a WSDL in order to use the resequencer feature in OSB, and this WSDL must be only one-way, and must not contain any response elements.
The OSB Resequencer Strategies work in the same manner as Oracle Mediator; it supports Standard, FIFO and Best Effort. The differences between the resequencer implementation in Oracle Mediator and OSB are the ways in which both dispatch the message. In OSB, pipeline acts as a Resequencer component. User cannot configure resequencer at any other OSB component. After resequencing, the ordered messages will be processed further in the pipeline. As soon as the message is pushed to the resequencer, caller will get a successful response. Though resequencer is part of the pipeline configuration, it will be invoked just before the pipeline is invoked.
Just like the Oracle Mediator, OSB Resequencer also relies on the database for processing messages. The database tables are automatically created when you run the repository creation utility (RCU) while creating the OSB domain. The JNDI name used by the OSB resequencer is jdbc/SOADataSource. The tables used by the resequencer are shown below:
You can use the Enterprise Manager to configure the throughput for resequenced messages. Following are the properties specific to OSB resequencer:
For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.