Duplicate Detection

This page describes how to configure duplicate detection for inbound messages. For conceptual information about how duplicate detection works, see Detecting Duplicates.

Configuration

Duplicate detection is controlled by the performDuplicateChecking configuration parameter on the microservice:

<service name="order-processor" mainClass="com.example.OrderProcessor">
  <messaging>
    <!-- messaging config -->
  </messaging>

  <!-- Enable duplicate detection (default: true) -->
  <performDuplicateChecking>true</performDuplicateChecking>
</service>

Default Behavior

By default, performDuplicateChecking is set to true, meaning duplicate detection is enabled. When enabled:

  • The AEP Engine tracks sequence numbers for each bus+channel+qos combination

  • Messages with sequence numbers ≤ previously received sequence numbers are discarded

  • Duplicate messages are not dispatched to application handlers

  • The NumDupMsgsRcvd statistic is incremented for each duplicate detected

Disabling Duplicate Detection

You may want to disable duplicate detection if:

  • Your application is tolerant of duplicates and has its own duplicate detection logic

  • Your application performs idempotent operations where processing the same message multiple times has no adverse effects

  • You want to implement custom duplicate detection using application-specific business keys rather than sequence numbers

To disable duplicate detection:

circle-exclamation

See Also

Last updated