Duplicate key detection

The Ignore Duplicate Messages specifies whether EAServer checks for messages with duplicate keys before sending them. If duplicate messages are acceptable in the application, disabling this setting can improve performance.

If duplicate key detection is enabled, the Duplicate Detection Protocol property determines how EAServer handles duplicate keys. A setting of optimistic will optimize the detection of duplicates by using deferred inserts and checking for duplicate key exceptions from the duplicate detection table. As a result, when duplicates are detected, transaction rollbacks will occur, and automatic transaction retry adds non-deferred duplicate checking. A setting of pessimistic will always use non-deferred duplicate checking. When there are few duplicates, optimistic is more efficient. When there are many duplicates, pessimistic may be more efficient.

To check for duplicate keys, EAServer logs key values to the database table specified by the Duplicate Detection Table property. To prevent this table from growing to an unreasonable size, set the Duplicate Detection Timeout property. EAServer deletes entries that remain in the table past this time limit.