FIFO Resequencer Resequencing Order

Resequencing in Oracle Mediator 22-7 Oracle Mediator service component and the message contains sequenceID Y and group Z.

22.2.3.4 Example of Best Effort Resequencing Based on a Time Window

Table 22–5 illustrates the behavior of the best effort resequencer when it is configured to process messages based on the time period in which they arrive. In this example, the time window is 10 minutes, the buffer is 10 one minute, and msgXY indicates that the message arrives as message number X to the Oracle Mediator service component and the message contains the sequence ID Y. The first message arrives at 2:00:00, which starts the time window. The time window lasts until 2:10:00, but with the addition of the buffer time, messages that arrived until 2:11:00 are processed. Table 22–4 Best Effort Resequencer Behavior Based on Maximum Rows Group C Sequenced Messages msg031,c msg062,c msg103,c msg124,c msg124,c,msg103,c,msg062,c,msg031,c Note: For the best effort resequencer to work correctly, the messages must arrive in sequence or nearly in sequence. Otherwise, they are not resequenced correctly. If the messages do not arrive close together, set the value of the maxRowsRetrieved parameter to 1 so the next message in the sequence has enough time to arrive and be picked up by the next processing loop and therefore be delivered in sequence. Table 22–5 Best Effort Resequencer Behavior Based on a Time Window Group C MessageTime Sequenced Messages msg01042:00:00 msg02052:00:20 msg03012:00:30 msg04032:00:50 msg05072:04:20 msg06022:04:45 msg07132:05:10 msg08082:05:40 msg09062:08:40 msg10122:09:20 msg11102:10:30 msg12092:10:40 msg13142:10:50 msg14112:13:00 msg0301, msg0602, msg0403, msg0104, msg0205, msg0906, msg0507, msg0808, msg1209, msg1110, msg1012, msg0713 22-8 Oracle Fusion Middleware Developers Guide for Oracle SOA Suite

22.3 Configuring the Resequencer

You can configure the resequencer using Oracle JDeveloper. This section describes how to configure the resequencer in Oracle JDeveloper.

22.3.1 How to Specify the Resequencing Level

You can define resequencing at either the service component level or the operation level. For Oracle Mediator service components with only one operation, configuring resequencing at the operation or service component level results in the same behavior. For Oracle Mediator service components having multiple operations, specifying the resequencing at the service component level applies the same resequencing rules to all the operations, and messages arriving at any operation are resequenced. By default, the resequencing level is operations. To specify the resequencing level: 1. On the Mediator Editor, select the resequencing level from the Resequence Level dropdown list, as shown in Figure 22–2 . Figure 22–2 Mediator Editor with Resequence Level Field If you choose component, the Resequence field under each operation no longer appears and the Resequence Mode field appears under the Resequence Level field so you can set the resequencing mode for the service component. By default, the resequencing mode is set to off. When you select a resequencing mode, the Resequence Options box appears under the service component or operation, as shown in Figure 22–3 . If the Resequence Mode field for an operation is set to off, the Resequence Options box disappears. Note: In the above example, the resequencer identified the maximum sequence ID for the time window as 13 from message 7. Message 13 arrived within the buffer time, but has a sequence ID of 14. It is not processed with the original group, but instead begins a new time window at its arrival time of 2:10:50. Message 14 arrived too late and is included in the second time window.