Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Sequencer component is used to retain the sequence of messages when a certain section of the flow has to be processed in multiple flows for performance concerns. When messages are split into parallel flows, the messages are not guaranteed to reach the end of the flow in the order of their arrival.  A pair of sequencer components launched in Generate and Resequence modes respectively ensures the order is maintained.

Configuration

Custom configurations can be made in the Sequencer Configuration Property Sheet (CPS).

Image Modified
Figure 1: Sequencer Component Configuration properties

...

Duration for which the message is retained in the component when the sequencer mode is 'Resequence'.

Image Added
Figure 2: Resequence properties

Resequence Interval

Interval after which resequencing is attempted when the sequencer mode is 'Resequence'.

Initial Sequence Number

Number from which sequence starts. By default, it is set to 1.

...

Tip
titlePersisting state across restarts

For the solution to work even when components are restarted, the following changes have to be made.

  • Use CLIENT_ACKNOWLEDGE mode on the input port of the Sequencer component launched in resequence mode. This ensures any out of sequence messages received by the component will be pushed back to the input port when the component is stopped.
  • Use the Continue from previous run option in both generate sequence and resequence mode. This makes sure the sequence number is retrieved from DB.

Data

...

Base Configuration

Click the ellipsis button to configure the required database.

Tip

Refer the Database Configuration section in the DB page for descriptions of database configuration properties.

Image RemovedImage Added
Figure 23: Database Configuration

Expert Properties

Enable the Expert Properties view to configure these properties.

Warning

Expert properties are meant for advanced users; use with caution.

Image Added
Figure 4: Expert properties for Generate sequencer mode

Pre Processing XSL Configuration

Pre Processing XSL configuration can be used to transform request message before processing it. Click the ellipses button against the property to configure the properties.

Refer to the Pre/Post Processing XSL Configuration section under the Common Configurations page for details regarding Pre Processing XSL configuration and Post Processing XSL configuration (below).

Post Processing XSL Configuration 

Post Processing XSL configuration can be used to transform the response message before sending it to the output port.

Process Message Based on Property

The property helps components to skip certain messages from processing.

Refer to the Process Message Based On a Property section under the Common Configurations page.

Table Name

Name of the table  to store the messages during execution.

Info

Default value is a combination of the event process name and the microservice name.

Threadpool Configuration

This property is used when there is a need to process messages in parallel within the component, still maintaining the sequence from the external perspective. 

...

Click the Threadpool Configuration ellipsis button to configure the Threadpool Configuration properties.


Figure 35: Threadpool Configuration

...

Time in milliseconds after which the threads are evicted in case of inactivity. New threads are created in place of evicted threads when new requests are received. Default value is '1000'.

Sequence Type

Image Added
Figure 6: Expert properties for Resequence sequencer mode

The two sequence types for Resequence Sequencer Mode are:

  • Continuous: Select this to have two consecutive sequence numbers differ by 1.
  • Non-Continuous: Sequence numbers are not generated continuously.

Functional Demonstration

Scenario 1

The following figure demonstrates a skeleton use case of sequencing. The parallel flows are wrapped between the sequencer and resequencer components with the number of flows set in the configuration of both sequencer and resequencer.

Filters are appropriately set on routes so that each parallel flow receives the corresponding message.


Figure 47: Sample flow

Sample Output


Figure 58: Output in the Display window

...

Adaptavist ThemeBuilder EngineAtlassian Confluence