JMSPublisher is a JMS message consumer that publishes messages to a JMS Topic. It receives JMS messages from the internal XQueue and delivers them to the topic destination. JMSPublisher supports all JMS implentations via JNDI. Only one operation, pub, is supported for now. It also supports flow control and XA. Fault tolerance with auto reconnections is built in.
Apart from the common properties, there are many implementation specific properties for JMSPublisher.
Property Name | Data Type | Requirement | Description | Examples |
---|---|---|---|---|
ContextFactory | string | mandatory for JNDI | initial context factory for JNDI service | com.sun.jndi.fscontext.RefFSContextFactory |
URLPkgs | string | optional | url pkg prefixes for JNDI | org.jboss.naming |
Principal | string | optional | security pricipal for JNDI | admin |
Credentials | string | optional | security credentials for JNDI | admin |
ConnectionFactoryName | string | mandatory for JNDI | connection factory for JNDI | TestConnectionFactory |
TopicName | string | mandatory | JMS topic | topic/test |
ClientID | string | mandatory | id for the client | client1 |
Overwrite | integer | optional | mask for overwriting JMS Properties on messages | 5 (default: 0) |
Priority | integer of 0-9 | optional | new priority to set on messages | 5 (default: no change) |
Persistence | integer of 1,2 | optional | new persistence to set on messages | 2 (default: no change) |
Expiry | integer | optional | milliseconds to add to message's expiration time | 60000 (default: no change) |
Beside of generic JMS implementations, there is also a dedicate implementation for IBM WebSphere MQ. For IBM WebSphere MQ, here are the vendor-specific properties for JMSPublisher.
Property Name | Data Type | Requirement | Description | Examples |
---|---|---|---|---|
QueueManager | string | mandatory for binding mode | name of the Queue Manager | BROKER1 |
HostName | string | mandatory for client mode | hostname | broker1 |
Port | integer | optional | port number for WMQ | 1418 (default: 1414) |
ChannelName | string | optional | name of the WMQ SVRCONN channel | TEST (default: SYSTEM.DEF.SVRCONN) |
SecurityExit | string | optional | classname of the securit exit | org.qbroker.wmq.SimpleSecurityExit |
SecurityData | string | optional | argument passed into the securit exit | |
BrokerVersion | integer of 1 or 2 | optional | broker version | 1 (default: 2) |
Here is an example of JMSPublisher:
{ "Name": "pstr_pub", "ClassName": "org.qbroker.persister.JMSPublisher", "URI": "wmq://panda1", "TopicName": "ELEX/TEST", "ClientID": "test", "Operation": "pub", "LinkName": "root", "XAMode": "1", "Persistence": "1", "DisplayMask": "6", "Tolerance": "0", "MaxRetry": "2" }