General
A router loads one configuration file during startup. The filename must be specified as command line argument. This file contains the configuration for all the Swiftlets of this router.
File Format
The configuration file is in the format of java.util.Properties with name/value pairs. The format is extended to make sections resp. enumerations/arrays possible and is called StructuredProperties.
Sections always end with .names in their property name. After the equal sign must be a list of one or more values specified, separated by comma. These values are called section elements.
Example:
swiftlet.sys$jndi.aliases.names=qcf,tcf
|
These elements are then part of further definitions and build the whole section.
Example:
swiftlet.sys$jndi.aliases.qcf.mapto=plainsocket@router5 swiftlet.sys$jndi.aliases.tcf.mapto=plainsocket@router5
|
Every line needs to begin with swiftlet.<name>. <name> describes the Swiftlet name. The rest of the property name is Swiftlet specific.
Naming Conventions
All names are case sensitive.
Router Names
Router names must consist of letters, digits, '-', '_' or '.'.
User Names
User names must consist of letters or digits. There is one predefined user anonymous that matches for username null.
Client Ids
Client id’s must consist of letters or digits.
Group Names
Group names must consist of letters or digits. There is one predefined group public that matches for all users.
Queue Names
Due to location dependency, a queue name must always be completely qualified to ensure correct message routing:
In exception to this rule, the initial definition of queues in the QueueManager configuration must always be without the router name. This makes it easy to change it. For this reason it is suggested to define an JNDI alias for queues to avoid definitions of router names into JMS applications.
The <queue> part of the fully qualified name must consist of letters or digits.
Topic Names
SwiftMQ provides the possibility to define topic hierarchies in the form:
<roottopic>.<subtopic>.<subsubtopic> etc
|
Examples:
iit.sales.EU iit.sales.US iit.projects.swiftmq.users news.weather.forecasts sports.formula1.MichaelSchumacher
|
Topic names must consist of letters or digits.
Routername
Specifying a userdefined router name is only necessary if multiple routers should run on one host. If a router name is not defined, the router name is the same as the DNS name of the local host. SwiftMQ rejects routing connection from routers if their name is already known.
Property definition:
Example: