Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
bgColor#000000

Warning

Currently, you can use this Resequencer pattern only through the Management Console of WSO2 Enterprise Service Bus (ESB) 4.9.0 via the WSO2-CARBON-PATCH-4.4.0-1935 WUM Update. For more information on how to update your WSO2 product distribution using WUM, see Updating WSO2 Products. In the future, this will be implemented with Tooling support in latter WSO2 ESB versions.

...

Enter the configuration details in the below screen.

enter details of the Resequence Message Store

When you add a Resequence Message Store, it is required to specify values for the following:

  • NameA unique name for the RabbitMQ message store. 
  • Database TableTable name of the database in which, messages will be stored.
  • Connection Information: If the database is connected via a Carbon datasource or via a connection pool.
  • DriverThe class name of the database driver.
  • Url: URL of the database.
  • UserThe username to access the database.
  • PasswordThe password to access the database.
  • Resequence Timeout (Seconds)The time the Message Processor waits for a message, which is missing to reorder them based on a specified order.
  • Sequence ID Path: The path from which, the Store identifies the sequence ID from the message content.

The following is a sample ESB configuration of the Resequence Message Store.

...

Property NameDescriptionRequiredPossible Values
store.resequence.timeout

The time the Processor waits for a message, which is missing to reorder them based on a specified order. If the current message sequence is 3, its predecessor would be 2 and the successor would be 4, and thereby, if 4 is not present, then there is a gap in the sequence. Therefore, the processor waits until the specified set time-out exceeds, and selects the next minimum sequence ID available as the predecessor. However, the time-out will be a rough estimate. The durations could vary depending on the load of the machine.




Yes

Specify a positive integer for the count and the timeout in seconds.

If you specify the count as -1, then the processor will wait indefinitely until the correct sequence ID is present to fill the gap.

store.producer.guaranteed.delivery.enable
Whether you want to enable guaranteed delivery or not. For more information, see Guaranteed Delivery with Failover Message Store and Scheduled Failover Message Forwarding Processor.NoTrue/False
store.failover.message.store.name
The name of the Message Store used if the original message store fails. For more information, see Guaranteed Delivery with Failover Message Store and Scheduled Failover Message Forwarding Processor.NoAn appropriate String value
store.resequence.id.path

The path from which, the Store identifies the sequence ID from the message content. The path could be either XPath or JSON. You can specify it in the expression field.  



YesSet a positive integer as the sequence ID. The store expects the sequence ID to start from 1.
store.jdbc.password The password to access the database.NoAn appropriate String value
store.jdbc.driver The class name of the database driver.YesAn appropriate String value
store.jdbc.username The user name username to access the database.YesAn appropriate String value
store.jdbc.connection.url The database URL.YesAn appropriate String value of a URL.
store.jdbc.table Table name of the database in which, messages will be stored.YesAn appropriate String value

...