Message duplication usually occurs when the sending system resends a message because it did not receive a response from Rhapsody within the configured timeout period. The Duplicate Message Detection filter detects multiple copies of the same message, and:

  • Sends them to the error connector, or
  • Sets the message property, rhapsody:DuplicateMessageOutputProperty, with a unique message identifier, which determines that the message is a duplicate.

This filter ensures that any messages that have the same Message ID are only sent once within a specified window of time.

The Duplicate Message Detection filter does not treat reprocessed or reinjected messages as duplicates in order to allow these messages to be re-processed or re-injected.

Configuration Properties

Property

Description

Message Identifier Property

A message property that contains the value to be tested for uniqueness. This can be a username, password or any other Rhapsody environment variable. The message property cannot exceed 64 bytes and the character encoding must be UTF-8.

Monitoring Interval

A sliding time window, in minutes, within which the filter should search for duplicate messages. The minimum interval is 1 minute. For example, the filter will look for duplicate messages processed within 1 minute. If a duplicate is received after 2 minutes, no action would be taken.

Output Method

Action to take when a duplicate message is detected:

  • Send to error connector (default) - sends the message to the Error Queue if it is a duplicate.
  • Set output message property - sets the message property rhapsody:DuplicateMessageOutputProperty to true if the message is a duplicate. Otherwise, the value is false.

Advanced Configuration

To configure where the data files for all the Duplicate Message Detection filters are stored, open the rhapsody.properties file, and add the property duplicate.dir. If this property is not set, the directory defaults to \rhapsody\data\filter\<FilterIdentifier>.