Durable Details Panel

The Durable details panel presents the parameters of a static durable or a dynamic durable template. In edit mode, you can modify the parameter values.

The title of the panel indicates the location and name of the durable or template: Store / Durable.

For consequences of modifying this configuration, see Store and Durable Modifications.

For background information, see Durable Behavior.

GUI Parameter Description
Prefetch Count Applies only to shared and last-value durables.

When a subscriber is ready, the store delivers a portion of the message stream. This value, a positive integer, limits the number of messages in a portion.

For shared durables, you can tune this parameter empirically to improve message throughput:
  • If some subscribers are idle while others are overloaded, try decreasing this value.
  • If the durable has a large message backlog, yet subscribers could process more messages, try increasing this value.

For last-value durables, you can tune this parameter to control the flow of messages from a fast publisher.

Message Limit Optional.

This parameter limits persistence server memory growth by limiting the number of messages in a durable. When a message arrives, the persistence server checks the number of messages in the durable. If the new message would exceed the limit, the server discards a message (see the discard parameter).

(When a durable disards the newest message, the publisher does not throw an exception. )

You can set this parameter for static durables and for dynamic durable templates. If you change its value on a dynamic durable template, all of that template's individual dynamic durables reflect the new behavior.

This parameter does not apply to last-value durables.

For futher details, see Persistence Limits.

Discard Optional.

This parameter governs the message discard behavior of the message limit parameter. The durable can discard either its oldest message or the new message.

You can set this parameter for static durables and for dynamic durable templates. If you change its value on a dynamic durable template, all of that template's individual dynamic durables reflect the new behavior.

This parameter does not apply to last-value durables.

When absent, the default value is new.

Message Time to Live Optional.

This parameter limits persistence server memory growth by limiting the time (in seconds) that messages remain in the durable. When a message arrives in the durable, a timer counts this interval. The persistence server can delete that message at any time after the interval elapses.

Zero is a special value, indicating no time limit on messages in this durable.

When absent, the default value is zero.

For futher details, see Persistence Limits.

Durable Time to Live Optional.

This parameter limits persistence server memory growth by limiting the time (in seconds) that a dynamic durable without any suscribers can remain in the store.

When a dynamic durable no longer has any connected subscribers, a timer counts this interval. The persistence server can delete the durable at any time after the interval elapses. During the interval, the presence of any subscriber stops the timer and prevents deletion.
Note: Using this feature weakens the quality of service of the dynamic durable. The durable no longer assures delivery to clients that disconnect without closing subscribers.

Zero is a special value, indicating no time limit on dynamic durables without subscribers.

When absent, the default value is zero.

For futher details, see Persistence Limits.

Batch Count In asynchronous acknowledgment mode, each client immediately sends accumulated acknowledgements when the number of waiting acknowledgements exceeds this number, even if the batch time interval has not elapsed.
Batch Time In asynchronous acknowledgment mode, each client immediately sends accumulated acknowledgements when the oldest acknowledgment has waited for this interval, in seconds, even before exceeding the batch count.
Maximum Delivery Attempts Applies only to shared durables.

This parameter limits the number of times that a persistence server will attempt to deliver each message in the shared durable.

Zero is a special value, indicating no limit on delivery attempts.

Administrators can this set parameter to zero or any positive integer strictly greater than one. (The value 1 is invalid.)

When absent, the default value is zero.

Note: Robust message callback methods verify field data types before operating on field data content.

Nonetheless, sometimes a message with unexpected data content can cause a subscribing application to abruptly exit. When the persistence server repeatedly delivers such a message to the subscribers of a shared durable, it could potentially cause all the subscribing applications to exit. To limit the damage that such messages can cause, set this parameter to a non-zero value that is less than the expected number of subscribing applications.