JMS Reader
Reads data from the Java Message Service.
See Supported reader-parser combinations) for parsing options.
property | type | default value | notes |
---|---|---|---|
Compression Type | String | Set to | |
Connection Factory Name | String | the name of the ConnectionFactory containing the queue or topic | |
Crash On Unsupported Message Type | Boolean | True | With the default value of True, when JMSReader encounters a message of an unsupported type, the application will crash. Set to False to ignore such messages. |
Ctx | String | the JNDI initial context factory name | |
Durable Subscriber Name | String | Leave blank to create a nondurable subscription. Specify a subscriber name to create a durable subscription. | |
JMS Provider Config | String | Optionally, specify any required path variables as com.tibco.tibjms.naming.security_protocol=ssl; ssl_enable_verify_hostname=false; com.tibco.tibjms.naming.ssl_identity=client_identity.p12; com.tibco.tibjms.naming.ssl_password=password; com.tibco.tibjms.naming.ssl_trusted_certs=server_root.cert.pem; java.property.https.protocols=SSLv3; com.tibco.tibjms.naming.ssl_trace=true' | |
Password | encrypted password | ||
Provider | String | the path to the JNDI binding | |
Queue Name | String | leave blank if Topic is specified | |
Topic | String | leave blank if QueueName is specified | |
Transaction Policy | String | Specify a message count and/or interval (s / m / h / d) to have the JMS broker group messages as transactions. This will ensure that all messages are processed by JMSReader before they are removed from the queue. For example, with the setting When using a transaction policy:
This feature has been tested with ActiveMQ and WebLogic. | |
User Name | String | a messaging system user with the necessary permissions |
Note that JMSReader's properties must accurately reflect your configuration. See Using JMSReader with IBM WebSphere MQ for a detailed discussion.
The output type is WAevent except when using JSONParser.
The following example is for ActiveMQ:
CREATE SOURCE AMQSource USING JMSReader ( ConnectionFactoryName:'jms/TestConnectionFactory' Ctx:'org.apache.activemq.jndi.ActiveMQInitialContextFactory', Provider:'tcp://192.168.123.200:61616', QueueName:'jms/TestJMSQueue', UserName:'striim', Password:'******' ) ...
Message headers are included in the output. For example:
SNMPNT: WAEvent{ data: ["abc","def"] metadata: {"RecordEnd":9,"JMSType":"","RecordOffset":0,"JMSExpiration":0, "JMSDestinationName":"TanuTopic","JMSRedelivered":false,"AMQ_SCHEDULED_REPEAT":3, "JMSTimestamp":1599633667256, "messageid":"ID:Apples-MacBook-Pro-2.local-54631-1599632751529-4:1:1:1:1", "JMSDestinationType":"Topic","JMSDeliveryMode":1,"JMSPriority":0,"JMSCorrelationID":"", "RecordStatus":"VALID_RECORD"} userdata: null };
TIBCO_EMS_SSL_sysout: JsonNodeEvent{ data: {"idx":"0","Test":"Test0"} metadata: {"JMSPriority":4,"JMSType":null,"JMSXDeliveryCount":1,"JMSExpiration":0, "JMSDestinationName":"newqueue5","JMSRedelivered":false,"JMSTimestamp":1598523499812, "JMSCorrelationID":null,"JMSDestinationType":"Queue","JMSDeliveryMode":2} userdata: null };