Class EsbOutboxConfig
java.lang.Object
com.kingsrook.qqq.esb.model.EsbOutboxConfig
- All Implemented Interfaces:
Serializable
Settings for the transactional ESB outbox (EsbInstanceMetaData.withOutbox).
Off by default. When enabled, record change events are written to the
outbox table (defined by EsbOutboxTable.defineTable, created by the
application's migrations) in the same backend transaction as the record
write, and a relay on every node publishes them: in order per destination,
with retries and backoff, at-least-once. See docs/esb/index.adoc.
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGetter for batchSize: the most rows the relay sends, per destination, in one broker transaction.Getter for enabled: whether record change events go through the outbox.Getter for initialBackoffMs: the wait after a row's first failed send; it doubles with each further failure.Getter for leaseMs: how long a relay's claim on a destination's rows lasts; another node may take them over after it expires.Getter for maxAttempts: how many failed sends (while the broker is connected) before a row is DEAD.Getter for maxBackoffMs: the longest wait between a row's sends.Getter for pendingAlertMs: the health check degrades when the oldest PENDING row is older than this.Getter for pollIntervalMs: how long the relay waits between passes when idle (a commit that writes outbox rows wakes it sooner on this node).Getter for purgeIntervalMs: how often each node purges old SENT rows.Getter for retentionDays: how many days SENT rows are kept before the relay purges them (DEAD rows are kept until someone deletes them).Getter for tableName: the QQQ name of the outbox table (default esb_outbox).voidsetBatchSize(Integer batchSize) Setter for batchSizevoidsetEnabled(Boolean enabled) Setter for enabledvoidsetInitialBackoffMs(Integer initialBackoffMs) Setter for initialBackoffMsvoidsetLeaseMs(Integer leaseMs) Setter for leaseMsvoidsetMaxAttempts(Integer maxAttempts) Setter for maxAttemptsvoidsetMaxBackoffMs(Integer maxBackoffMs) Setter for maxBackoffMsvoidsetPendingAlertMs(Integer pendingAlertMs) Setter for pendingAlertMsvoidsetPollIntervalMs(Integer pollIntervalMs) Setter for pollIntervalMsvoidsetPurgeIntervalMs(Integer purgeIntervalMs) Setter for purgeIntervalMsvoidsetRetentionDays(Integer retentionDays) Setter for retentionDaysvoidsetTableName(String tableName) Setter for tableNamewithBatchSize(Integer batchSize) Fluent setter for batchSizewithEnabled(Boolean enabled) Fluent setter for enabledwithInitialBackoffMs(Integer initialBackoffMs) Fluent setter for initialBackoffMswithLeaseMs(Integer leaseMs) Fluent setter for leaseMswithMaxAttempts(Integer maxAttempts) Fluent setter for maxAttemptswithMaxBackoffMs(Integer maxBackoffMs) Fluent setter for maxBackoffMswithPendingAlertMs(Integer pendingAlertMs) Fluent setter for pendingAlertMswithPollIntervalMs(Integer pollIntervalMs) Fluent setter for pollIntervalMswithPurgeIntervalMs(Integer purgeIntervalMs) Fluent setter for purgeIntervalMswithRetentionDays(Integer retentionDays) Fluent setter for retentionDayswithTableName(String tableName) Fluent setter for tableName
-
Constructor Details
-
EsbOutboxConfig
public EsbOutboxConfig()
-
-
Method Details
-
getEnabled
Getter for enabled: whether record change events go through the outbox. -
setEnabled
Setter for enabled -
withEnabled
Fluent setter for enabled -
getTableName
Getter for tableName: the QQQ name of the outbox table (default esb_outbox). -
setTableName
Setter for tableName -
withTableName
Fluent setter for tableName -
getBatchSize
Getter for batchSize: the most rows the relay sends, per destination, in one broker transaction. -
setBatchSize
Setter for batchSize -
withBatchSize
Fluent setter for batchSize -
getPollIntervalMs
Getter for pollIntervalMs: how long the relay waits between passes when idle (a commit that writes outbox rows wakes it sooner on this node). -
setPollIntervalMs
Setter for pollIntervalMs -
withPollIntervalMs
Fluent setter for pollIntervalMs -
getLeaseMs
Getter for leaseMs: how long a relay's claim on a destination's rows lasts; another node may take them over after it expires. -
setLeaseMs
Setter for leaseMs -
withLeaseMs
Fluent setter for leaseMs -
getMaxAttempts
Getter for maxAttempts: how many failed sends (while the broker is connected) before a row is DEAD. Sends that fail because the broker is unreachable do not count. -
setMaxAttempts
Setter for maxAttempts -
withMaxAttempts
Fluent setter for maxAttempts -
getInitialBackoffMs
Getter for initialBackoffMs: the wait after a row's first failed send; it doubles with each further failure. -
setInitialBackoffMs
Setter for initialBackoffMs -
withInitialBackoffMs
Fluent setter for initialBackoffMs -
getMaxBackoffMs
Getter for maxBackoffMs: the longest wait between a row's sends. -
setMaxBackoffMs
Setter for maxBackoffMs -
withMaxBackoffMs
Fluent setter for maxBackoffMs -
getRetentionDays
Getter for retentionDays: how many days SENT rows are kept before the relay purges them (DEAD rows are kept until someone deletes them). -
setRetentionDays
Setter for retentionDays -
withRetentionDays
Fluent setter for retentionDays -
getPurgeIntervalMs
Getter for purgeIntervalMs: how often each node purges old SENT rows. -
setPurgeIntervalMs
Setter for purgeIntervalMs -
withPurgeIntervalMs
Fluent setter for purgeIntervalMs -
getPendingAlertMs
Getter for pendingAlertMs: the health check degrades when the oldest PENDING row is older than this. -
setPendingAlertMs
Setter for pendingAlertMs -
withPendingAlertMs
Fluent setter for pendingAlertMs
-