Swiftlet Name
The Swiftlet name of the QueueManager is sys$queuemanager.
Backstore Directory
To store persistent messages and to swap non-persistent messages to disk, a directory can be specified which is called backstore directory. Below, the QueueManager will create two subdirectories: persistent and nonpersistent. Every queue stores its persistent messages into the persistent subdirectory. If the queue's memory cache is used up, it swaps out further non-persistent messages to the nonpersistent subdirectory.
The definition of the backstore directory is optional. Default is ./ (directory where the router is starting from).
Starting a router, every queue reconstructs its content from the persistent subdirectory. The content of the nonpersistent directory (old swaps) are purged.
It is advisable, to backup the persistent subdirectory regularly.
Property definition:
swiftlet.sys$queuemanager.backstore.directory=<dir>
|
Example:
swiftlet.sys$queuemanager.backstore.directory=/local/SwiftMQ/router1/messagestore
|
Collect Interval
The number of messages is stored in a property 'messagecount' or the respective queue and is reported by administration tools (SwiftMQ Explorer, CLI). To avoid massive property change events, the respective queue message counts are collected in intervals. This property specifies the collect interval in milliseconds.
The default value to this property is 10000 (10 seconds). The value 0 eliminates the collect. This is reasonable in the case that the SwiftMQ Explorer or CLI is not used to display message counts.
Property definition:
swiftlet.sys$queuemanager.collect.interval=<long>
|
Example:
swiftlet.sys$queuemanager.collect.interval=60000
|
Default Cache Size
Every queue has a memory cache to store non-persistent messages. In case the cache is used up, further messages are swapped out to the nonpersistent subdirectory of the backstore. The cache size can have effect not only to the performance, but also on the memory consumption of the router process. So the cache size must be increased or decreased carefully.
This property specifies the default cache size, used as default value for user-defined queues and also for all internal queues as for durable/non-durable topic subscribers, routing and temporary queues.
Without further specification the cache size is be set to the default of 100 messages.
Property definition:
swiftlet.sys$queuemanager.cache.size=<max number messages>
|
Example:
swiftlet.sys$queuemanager.cache.size=500
|
Default Cleanup Interval
The cleanup interval specifies a millisecond interval per queue, after which this queue should be checked if messages have been expired. The expiration time is calculated by a message dispatch time plus the time-to-live value specified for a MessageProducer with setTimeToLive(). If the time is exceeded, the message has expired and is deleted within the next cleanup interval.
This property specifies the default cleanup interval, used as default value for user-defined queues and also for all internal queues as for durable/non-durable topic subscribers, routing and temporary queues.
A cleanup interval of 0 (zero) means no cleanup - expired message are never be deleted.
For every distinct cleanup time, the QueueManager creates a separate timer thread. If the time is equal for all queues, only one timer will be created. One should take this into this consideration when specifying this property.
The default value for this property is 120000 (2 minutes).
Property definition:
swiftlet.sys$queuemanager.cleanup.interval=<milliseconds>
|
Example:
swiftlet.sys$queuemanager.cleanup.interval=60000
|
Queue Definition
Queues are defined as a list of names. For every defined queue, sub-properties can be defined as described in the next sections.
Property definition:
swiftlet.sys$queuemanager.queues.names=<queue 1>,<queue 2>,..,<queue n>
|
Example:
swiftlet.sys$queuemanager.queues.names=dbms33inbound,amexcosrvinbound
|
Cache Size
Every queue has a memory cache to store non-persistent messages. In case the cache is used up, further messages are swapped out to the nonpersistent subdirectory of the backstore. The cache size can have effect not only to the performance, but also on the memory consumption of the router process. So the cache size must be increased or decreased carefully.
The default value for this property is the value of the default cache size property.
Property definition:
swiftlet.sys$queuemanager.queues.<queue>.cache.size=<max number messages>
|
Example:
swiftlet.sys$queuemanager.queues.amexcosrvinbound.cache.size=1500
|
Cleanup Interval
The cleanup interval specifies a millisecond interval per queue, after which this queue should be checked if messages have been expired. The expiration time is calculated by a message dispatch time plus the time-to-live value specified for a MessageProducer with setTimeToLive(). If the time is exceeded, the message has expired and is deleted within the next cleanup interval.
A cleanup interval of 0 (zero) means no cleanup - expired message are never be deleted.
For every distinct cleanup time, the QueueManager creates a separate timer thread. If the time is equal for all queues, only one timer will be created. One should take this into this consideration when specifying this property.
The default value for this property is the value of the default cleanup interval property.
Property definition:
swiftlet.sys$queuemanager.queues.<queue>.cleanup.interval=<milliseconds>
|
Example:
swiftlet.sys$queuemanager.queues.amexcosrvinbound.cleanup.interval=120000
|