Overview
This document describes all configurable properties of the JMS Bridge Extension Swiftlet. These properties are saved within the Property Configuration File of the respective router. The configuration takes place by this file, by the SwiftMQ Explorer or by CLI.
'xt$bridge' is recommended as Swiftlet name.
Servers
A JMS Bridge Extension Swiftlet can connect to different foreign JMS servers, each can be of a different vendor. Such foreign JMS servers are defined as 'servers' within the Swiftlet configuration. Each server is a logical unit which is in the state 'available' or 'unavailable'. For latter state, the Swiftlet tries to reconnect in an interval, specified by the 'retryinterval' property for the specific server.
For each server name, sub-properties can be defined as described in the following sections.
Property definition:
swiftlet.xt$bridge.servers.names=<name 1>,<name 2>,..,<name n>
|
Example:
swiftlet.xt$bridge.servers.names=weblogic1,weblogic2,mqseries1,sonicmq1
|
Object Factory
Specifies the name of the object factory, required to fetch the appropriate administered JMS objects (destinations, connection factories).
The default value is: com.swiftmq.extension.bridge.JNDIObjectFactory
Property definition:
swiftlet.xt$bridge.servers.<name>.objectfactory=<classname>
|
Example:
swiftlet.xt$bridge.servers.fiorano.objectfactory=com.acme.jms.FioranoObjectFactory
|
Configuration File
Specifies the name of the property configuration file, used from the object factory. The file must contain properties in format java.util.Properties.
Property definition:
swiftlet.xt$bridge.servers.<name>.configfile=<filename>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.configfile=../conf/weblogic_jndi.properties
|
Username
Specifies the username, required for creating a queue or topic connection. If not specified, the connection will be created anonymous.
Property definition:
swiftlet.xt$bridge.servers.<name>.username=<name>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.username=bridgeuser
|
Password
Specifies the password, required for creating a queue or topic connection. If not specified, the connection will be created with a null password.
Property definition:
swiftlet.xt$bridge.servers.<name>.password=<name>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.password=secret
|
Retry Interval
Specifies the interval in milliseconds for reconnect attempts to a currently unavailable server.
Default value is: 60000 (1 minute).
Property definition:
swiftlet.xt$bridge.servers.<name>.retryinterval=<long>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.retryinterval=10000
|
Bridgings
Each defined server can have several defined bridgings. A bridging is exactly 1 bridge between a SwiftMQ destination and a destination on a foreign JMS server with a specific direction (local-to-remote or remote-to-local). Both destinations can be of type queue or topic. Therefore, you can define bridges on a queue/queue, topic/topic, queue/topic, and topic/queue base.
For each bridging name, sub-properties can be defined as described in the following sections.
Property definition:
swiftlet.xt$bridge.servers.weblogic1.bridging.names=<name 1>,<name 2>,..,<name n>
|
Example:
swiftlet.xt$bridge.servers.weblogic.bridging.names=reqqueue_reqqueue,sales_sales
|
Direction
Specifies the direction for this bridging. Possible values are 'local_to_remote' and 'remote_to_local'. For 'local_to_remote', the defined local SwiftMQ destination is the source and the remote destination of the foreign server is the sink. For 'remote_to_local' it is reverse.
Property definition:
swiftlet.xt$bridge.servers.<name>.bridgings.<name>.direction=<direction>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.bridgings.sales_sales.direction=remote_to_local
|
Local Destination Name
Specifies the name of the local destination (queue/topic name).
Property definition:
swiftlet.xt$bridge.servers.<name>.bridgings.<name>.localname=<name>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.bridgings.sales_sales.localname=salesqueue@router5
|
Local Destination Type
Specifies the type of the local destination. Valid are 'queue' and 'topic'.
Property definition:
swiftlet.xt$bridge.servers.<name>.bridgings.<name>.localtype=<type>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.bridgings.sales_sales.localtype=queue
|
Remote Factory Name
Specifies the name of the remote connection factory. The name will be used to get the connection factory from the ObjectFactory, specified for this server. The returned connection factory must match the remote destination type. For example, if the remote destination type is 'topic', a TopicConnectionFactory must be returned for the given name.
Property definition:
swiftlet.xt$bridge.servers.<name>.bridgings.<name>.remotefactoryname=<name>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.bridgings.sales_sales.remotefactoryname=javax.jms.TopicConnectionFactory
|
Remote Destination Name
Specifies the name of the remote destination (queue/topic name).
Property definition:
swiftlet.xt$bridge.servers.<name>.bridgings.<name>.remotename=<name>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.bridgings.sales_sales.remotename=salestopic
|
Remote Destination Type
Specifies the type of the remote destination. Valid are 'queue' and 'topic'.
Property definition:
swiftlet.xt$bridge.servers.<name>.bridgings.<name>.remotetype=<type>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.bridgings.sales_sales.remotetype=topic
|
Transfer Persistence
Specifies the transfer persistence mode for this bridging. Valid modes are:
persistent
The message producer for the sink will be marked as DeliveryMode.PERSISTENT. Every transferred message will be produced persistent, regardless if the message was marked as non persistent on the source.
nonpersistent
The message producer for the sink will be marked as DeliveryMode.NON_PERSISTENT. Every transferred message will be produced non persistent, regardless if the message was marked as persistent on the source.
as_source
Every tranfered message will be produced at the sink with the delivery mode of the source. If a message is marked as persistent, it will be produced as persistent. If it is marked as non persistent, it will be produced as non persistent.
Property definition:
swiftlet.xt$bridge.servers.<name>.bridgings.<name>.transferpersistence=<mode>
|
Example:
swiftlet.xt$bridge.servers.weblogic1.bridgings.sales_sales.transferpersistence=as_source
|