durables.conf
This file defines static durable subscribers.
The file consists of lines with either of these formats:
topic-name durable-name [route] [clientid=id] [nolocal] [selector="msg-selector"]
| Parameter Name | Description |
|---|---|
| topic-name | The topic of the durable subscription. |
| durable-name | The name of the durable subscriber. |
route
|
When present, the subscriber is another server, and the
durable-name is the name of that server.
When this property is present, no other properties are permitted. |
clientid=id
|
The client ID of the subscriber’s connection. |
nolocal
|
When present, the subscriber does not receive messages published from its own connection. |
selector=msg-selector
|
When present, this selector narrows the set of messages that the durable subscriber receives.
For detailed information about message selector syntax, see the
Message Selectors section in description for the
|
Example
topic1 dName1
topic2 dName2 clientid=myId,nolocal
topic3 dName3 selector="urgency in ('high','medium')"
topic4 Paris route
Conflicting Specifications
When the server detects an conflict between durable subscribers, it maintains the earliest specification, and outputs a warning. Consider these examples:
- A static specification in this file takes precedence over a new durable dynamically created by a client.
- An existing durable dynamically created by a client takes precedence over a new static durable defined by an administrator.
- A static durable subscription takes precedence over a client attempting to dynamically unsubscribe (from the same topic and durable name).
Conflict can also arise because of wildcards. For example, if a client dynamically creates a durable subscriber for topic
foo.*, and an administrator later attempts to define a static durable for topic
foo.1, then the server detects this conflict and warns the administrator.
Configuration
To configure durable subscriptions in this file, we recommend using the create durable command in the
tibemsadmin tool; see
create durable.
If the
create durable command detects an existing dynamic durable subscription with the same topic and name, it promotes it to a static subscription, and writes a specification to the file
durables.conf.