Skip to content

JMS Server Binding v0.0.1 ​

The JMS server binding defines the configuration for connecting to a JMS provider, centered around the ConnectionFactory.

Overview ​

In JMS, the ConnectionFactory is the entry point for a client application. It's an object that encapsulates all the necessary configuration to create a connection to the JMS provider (the message broker). This binding object allows you to specify the ConnectionFactory implementation class and set its properties.

Server Properties ​

PropertyTypeRequiredDescription
bindingVersionstringNoBinding version (defaults to 0.0.1).
jmsConnectionFactorystringYesThe fully qualified class name of the JMS ConnectionFactory implementation.
clientIDstringNoA unique identifier for the client connection.
propertiesarrayNoAn array of additional key-value properties to set on the ConnectionFactory.

Property Details ​

jmsConnectionFactory ​

This is the most critical property. It must contain the Java class name of the ConnectionFactory provided by your JMS vendor. For example, for ActiveMQ, this would be org.apache.activemq.ActiveMQConnectionFactory.

clientID ​

This sets a unique identifier on the connection. It is primarily used for durable subscriptions to topics, allowing a subscriber to disconnect and later reconnect to receive messages that arrived while it was offline. For queues, its use is less common, and some providers may restrict a clientID to a single active connection.

properties ​

This is an array of objects, where each object has a name and a value. This provides a generic way to configure any additional, provider-specific settings on the ConnectionFactory object that are not covered by the other binding properties.

Example ​

Connection to an ActiveMQ Broker ​

This example defines a server connection to an Apache ActiveMQ broker. It specifies the ConnectionFactory class and sets a clientID. It also includes a custom property to configure a "trust all packages" policy, which is specific to ActiveMQ.

yaml
servers:
  activemq-prod:
    url: tcp://broker.example.com:61616
    protocol: jms
    description: Production ActiveMQ Broker
    bindings:
      jms:
        bindingVersion: '0.0.1'
        jmsConnectionFactory: 'org.apache.activemq.ActiveMQConnectionFactory'
        clientID: 'data-processor-app-1'
        properties:
          - name: 'trustAllPackages'
            value: true

Changelog ​

Version 0.0.1 ​

  • Initial release of the JMS server binding.
  • Added jmsConnectionFactory, clientID, and properties to allow for detailed configuration of the JMS connection.