Class EsbDedupeConfig

java.lang.Object
com.kingsrook.qqq.esb.model.EsbDedupeConfig
All Implemented Interfaces:
Serializable

public class EsbDedupeConfig extends Object implements Serializable
Settings for idempotent ESB triggers (EsbInstanceMetaData.withDedupe). Off by default. When enabled, every trigger records the message ids it has processed in the processed-message table (defined by EsbProcessedMessageTable.defineTable, created by the application's migrations), and skips a message it has already processed - so a redelivery (after a broker failover, a lost commit, or an outbox re-send) does not run the process twice. See docs/esb/index.adoc.
See Also:
  • Constructor Details

    • EsbDedupeConfig

      public EsbDedupeConfig()
  • Method Details

    • getEnabled

      public Boolean getEnabled()
      Getter for enabled: whether triggers skip messages they already processed.
    • setEnabled

      public void setEnabled(Boolean enabled)
      Setter for enabled
    • withEnabled

      public EsbDedupeConfig withEnabled(Boolean enabled)
      Fluent setter for enabled
    • getTableName

      public String getTableName()
      Getter for tableName: the QQQ name of the processed-message table (default esb_processed_message).
    • setTableName

      public void setTableName(String tableName)
      Setter for tableName
    • withTableName

      public EsbDedupeConfig withTableName(String tableName)
      Fluent setter for tableName
    • getRetentionDays

      public Integer getRetentionDays()
      Getter for retentionDays: how many days processed message ids are remembered (a redelivery after that runs again).
    • setRetentionDays

      public void setRetentionDays(Integer retentionDays)
      Setter for retentionDays
    • withRetentionDays

      public EsbDedupeConfig withRetentionDays(Integer retentionDays)
      Fluent setter for retentionDays