There are various properties you can configure when utilizing Broadleaf’s messaging features in any service.
Properties related to general cluster singleton config. These properties tend to be set for each individual FlexPackage™ deployment.
Property | Description |
---|---|
|
Specify which camel cluster service implementation to support. Supported values are: |
|
If using |
|
If using |
Configuration properties for the NotificationHandler
and RetryHandler
related to PersistenceProducer
Property | Description |
---|---|
|
See |
|
See |
Property | Description | Default |
---|---|---|
|
The thread pool size used for async handling. The producer will not block during the attempt to send when calling the handleAsync method. |
10 |
|
Whether calls to handleAsync method will actually use the thread pool, or if they will instead block like the normal handle call. This can be useful in tests, or if reverting to the previous behavior is desired. |
true |
Properties related to the repository responsible for allowing requesters to lock and unlock a resource.
Property | Description |
---|---|
|
The time, once elapsed, in which the system will consider a lock abandoned and allow another requester to acquire the lock. The default value is 15 (seconds). |
|
The number of lock records to purge in a single page. Default value is 1000. |
Properties related non-blocking retry configuration
Property | Description | Default |
---|---|---|
|
Whether the non-blocking retry feature is enabled. The feature must be enabled for any non-blocking retry configuration to be recognized. |
False |
|
The amount of time to wait between polling attempts when consuming the retry bindings. This can be a somewhat relaxed value and does not need to be as frequent as a normal message channel polling frequency. Note, this is different (and generally shorter than) the backoff duration. Does not apply to all binder implementations. In the case of Kafka, this relates to |
15 seconds |
|
The amount of time you can extend a message’s acknowledgement deadline. Only applicable when using the pubsub binder. |
600 seconds |
|
The consumer binding from which to poll for candidate retryable messages. This is the binding name alone (not the fully qualified property). For example, for a fully qualified binding property |
N/A |
|
The producer binding used to send a message to park in the retry queue defined here. This is the binding name alone (not the fully qualified property). For example, for a fully qualified binding property |
N/A |
|
The producer binding used to send the message back to the original channel to re-attempt processing. |
N/A |
|
The maximum number of retry attempts. |
3 |
|
The backOff timeframe to wait before retrying a message. |
3000 ms |
|
Optional. The name of a broker channel to which messages that fail all non-blocking retries should be sent. This value is usually set on the final FixedRetryInfo in a sequence (or the first if only a single member sequence is used). Note, this is the name of the destination in the broker - not the channel binding name. For example, an input channel definition for an example dlq might look like |
N/A |
|
Optional. The exception types that should be retried. If this and |
Empty list |
|
Optional. The exception types that should not be retried. When the message processing throws these exceptions, the message goes straight to the DLQ (or is logged). If this and |
Empty list |
Properties related to message lock takeover
Property | Description | Default |
---|---|---|
|
Whether takeover behavior is enabled. |
False |
|
List of listener names that should participate in takeover behavior. Cases must individually opt in. |
Empty list |
|
Default threshold beyond which uncompleted state message locks are considered stagnant. |
900000 ms (15 minutes) |
|
Explicit thresholds per listener name. If defined, will take priority over |
N/A |
Properties related blocking retry configuration
Property | Description | Default |
---|---|---|
|
Whether the blocking retry feature is enabled. The feature must be enabled for any blocking retry configuration to be recognized. |
False |
|
The amount of time you can extend a message’s acknowledgement deadline. Only applicable when using the pubsub binder. |
600 seconds |
|
Optional. When using the kafka binder, whether failures will be bubbled to the container in combination with a backoff duration, which facilitates seek to current record for retry. This behavior will prevent a possible kafka re-balance in the event the backoff exceeds the poll interval. If false, standard spring retry will be used, in which case, care should be taken that the aggregate of all processing, retries, and delays for a poll of records does not exceed the consumer’s |
True |
|
If the default values are all satisfactory, the retry configuration can simply set this property to true, which will establish a |
True |
|
The maximum number of retry attempts. |
3 |
|
The backOff timeframe to wait before retrying a message. |
3000 ms |
|
Optional. The name of a broker channel to which messages that fail all non-blocking retries should be sent. This value is usually set on the final FixedRetryInfo in a sequence (or the first if only a single member sequence is used). Note, this is the name of the destination in the broker - not the channel binding name. For example, an input channel definition for an example dlq might look like |
N/A |
|
Optional. The exception types that should be retried. If this and |
Empty list |
|
Optional. The exception types that should not be retried. When the message processing throws these exceptions, the message goes straight to the DLQ (or is logged). If this and |
Empty list |
Properties related to overall retry configuration
Property | Description | Default |
---|---|---|
|
The amount of time in milliseconds the kafka consumer will block waiting for poll max records to be returned. Shorten this timeframe for more frequent poll iterations. |
5000 ms |
|
Filter out lines in the stack trace that do not match any of the regular expressions included here. The filtered stack trace will be included as a message header (FAILURE_TRACE) for any failed message sent to a DLQ. |
regex for broadleaf and spring packages |
|
The maximum number of already filtered lines to include in the stack trace. |
50 |