JMS Destination
The JMS destination publishes messages to a Java Message Service queue, providing reliable delivery to enterprise messaging brokers such as Apache ActiveMQ and IBM MQ.
JMS is a common backbone in healthcare enterprises for connecting legacy systems, EHR middleware, and back-office applications with guaranteed, transactional delivery.
Configuration
Section titled “Configuration”destination: type: jms jms: provider: activemq url: tcp://activemq.internal:61616 queue: LAB.RESULTS.OUT auth: username: ${JMS_USER} password: ${JMS_PASSWORD} persistent: true priority: 4 ttl_ms: 86400000 timeout_ms: 30000Properties
Section titled “Properties”| Property | Type | Required | Default | Description |
|---|---|---|---|---|
provider | string | Yes | — | JMS broker type: activemq or ibmmq. |
url | string | Yes | — | Broker connection URL. |
queue | string | Yes | — | Target queue name to publish messages to. |
persistent | bool | No | true | Use persistent delivery mode. Messages survive broker restarts. |
priority | int | No | 4 | JMS message priority (0–9). Higher values are delivered first. |
ttl_ms | int | No | — | Message time-to-live in milliseconds. Messages are discarded after expiry. |
timeout_ms | int | No | 30000 | Connection and send timeout in milliseconds. |
auth | object | No | — | Broker authentication credentials. |
IBM MQ Properties
Section titled “IBM MQ Properties”When provider is ibmmq, the following additional properties are available:
| Property | Type | Required | Default | Description |
|---|---|---|---|---|
queue_manager | string | Yes | — | IBM MQ queue manager name. |
channel_name | string | Yes | — | IBM MQ server-connection channel name. |
jms: provider: ibmmq url: mqhost.internal(1414) queue: HL7.ADT.OUT queue_manager: QM_PROD channel_name: SVRCONN.INTUWARE auth: username: ${MQ_USER} password: ${MQ_PASSWORD}Complete Example
Section titled “Complete Example”Publish lab results to an ActiveMQ queue with high priority for time-sensitive messages:
id: lab-results-jmsenabled: truegroup: laboratory
source: type: tcp port: 6662 content_type: hl7v2 mllp: true
transformer: lab-to-json.ts
destinations: - type: jms jms: provider: activemq url: ssl://activemq.internal:61617 queue: LAB.RESULTS.CRITICAL auth: username: ${JMS_USER} password: ${JMS_PASSWORD} persistent: true priority: 8 ttl_ms: 3600000 timeout_ms: 15000