Oracle® Fusion Middleware Administrator's Guide for Oracle SOA Suite and Oracle Business Process Management Suite 11g Release 1 (11.1.1.4.0) Part Number E10226-05 |
|
|
View PDF |
A Resequencer is used to rearrange a stream of related but out-of-sequence messages back into order. It sequences the incoming messages that arrive in a random order and then send them to the target services in an orderly manner.
For more information about Resequencers, see “Resequencing in Oracle Mediator” in the Oracle Fusion Middleware Developer's Guide for Oracle SOA Suite.
This chapter includes the following topics:
For Oracle Mediator components configured to resequence messages, you must configure the following:
The worker thread count
The maximum number of groups that can be locked by a thread
The sleep interval
If the Oracle Mediator component is configured to use best effort resequencing and the messages to process in each batch are based on a time window rather than a maximum number of rows, you can also configure the buffer window.
To configure resequenced messages:
Access the Oracle Mediator Service Engine Properties page or the MBean Browser using one of the methods described in Chapter 14, "Configuring Oracle Mediator Service Components and Engines".
Enter a value for the following Oracle Mediator properties:
ResequencerWorkerThreadCount
: The number of threads used by resequencers.
ResequencerMaxGroupsLocked
: The maximum number of group rows that are retrieved for each locking cycle.
ResequencerLockerThreadSleep
: The length of time in seconds for the deferred locker to sleep when there are no messages in the database.
To configure the buffer window for the time window in best effort resequencing, enter the following in the Parameters
property:
buffer.window=x
Where “x” is the percentage of the configured time window to add to the buffer. For example, buffer.window=20
means that 20% of the length of the time window is added as a buffer.
Click Apply.
You can monitor the resequenced messages from the following pages:
You can use the following tabs of the Oracle Mediator Component Home page for monitoring resequenced messages:
The Dashboard tab of the Oracle Mediator Component Home page has one additional column, Group, in the Recent Instances and Recent Faults tables. This field contains the group ID of the resequenced messages. If you click the group ID for a row, then a message window pops up with details of the group. For more information on this message window, refer to Section 17.2.1.4, "Mediator Resequencing Group Dialog" and for more information on the Dashboard tab, refer to Section 15.1.2, "Viewing Oracle Mediator Instance Information".
The Instances tab of the Oracle Mediator Component Home page provides an additional field, Resequencing Group, to search for an Oracle Mediator component instance, while specifying a search criterion. The Instances table that displays information of Oracle Mediator component instances that match the search criteria, provides one additional column, Group. This field contains the group ID of the resequenced messages. If you click the group ID for a row, then a message window pops up with details of the group. For more information on this message window, refer to Section 17.2.1.4, "Mediator Resequencing Group Dialog" and for more information on the Instances tab, refer to Section 15.1.2, "Viewing Oracle Mediator Instance Information".
The Faults tab of the Oracle Mediator Component Home page provides an additional field, Resequencing Group, to search for an Oracle Mediator Component instance, while specifying a search criterion. The Faults table that displays information of Oracle Mediator component instances that match the search criteria, provides one additional column, Group. This field contains the group ID of the resequenced messages. If you click the group ID for a row, then a message window pops up with details of the group. For more information on this message window, refer to Section 17.2.1.4, "Mediator Resequencing Group Dialog" and for more information on the Faults tab, refer to Section 16.2, "Managing Oracle Mediator Faults".
This section provides information about the Mediator Resequencing Group dialog. If all the messages in a group are processed without any fault or time out interval, then the Resequencing Group dialog displays that the group is working.
The Mediator Resequencing Group dialog provides the following details about a group:
Specifies whether the group is timed-out or faulted
Identifies the blocking message in the group
Identifies the next message to be processed after the group is unlocked
Shows the time after which the processing of the messages in the group stopped
Provides the instruction text to unlock the group
When processing of messages in a group is suspended due to a fault or a timeout, the Resequencing Group dialog provides information about the suspended group. The processing of messages in a group may be suspended for the following two reasons:
Group Is Faulted
A group is in the faulted state when one of its messages throws an error while it is processed. The following information is displayed for a faulted group:
The sequence ID of the faulted message
The sequence ID of the next message to processed, along with its Oracle Mediator Instance ID
Click Recover Now to access the Faults page of the Mediator Instance Details page to perform single-fault recovery.
Group Is Timed-out
A group is in the timed-out state when processing of the group stops while waiting for an expected message. The following information is displayed for a timed-out group:
The sequence ID of the last processed message
The sequence ID of the next message to be processed, along with its Oracle Mediator Instance ID
Click Skip to unlock the group and start processing the next available instances in the group.
Group Is Faulted Due to a System Error
A group can be in a faulted state when processing of the group is suspended due to a system error. This state is termed as a special case of a Faulted Group. This group is not timed out and there is no faulted message for the group. The groups in this state can be described as Errored Groups. The following information is displayed for an Errored Group:
The sequence ID of the last processed message
The sequence ID of the next message to be processed, along with its Oracle Mediator Instance ID
Click Retry to unlock the group and start processing the next instances in the group.
The Faults tab of the Mediator Instance Details window provides the following resequencer-specific information:
Group ID of the resequenced message
Operation performed on the resequenced message
If you click on a fault message, the fault message window appears with details of the fault. If you click Retry, then the Oracle Mediator Service Engine retries to process the message. If you click Abort, then it aborts the faulted message, then unlocks the group, and finally, resumes processing from the next message in the sequence.