JMSPublisher

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)
where most of the implementation specific properties are for JNDI service.

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)
where SecurityExit specifies the full classname for WMQ authentications.

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"
}