Description:
Provides a generic service to create vendor specific javax.jms.ConnectionFactory implementations. ConnectionFactory can be served once this service is configured successfully
Tags:
jms, messaging, integration, queue, topic, publish, subscribe
Properties:
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.
Name | Default Value | Allowable Values | Description |
MQ ConnectionFactory Implementation | A fully qualified name of the JMS ConnectionFactory implementation class (i.e., org.apache.activemq.ActiveMQConnectionFactory) | ||
MQ Client Libraries path (i.e., /usr/jms/lib) | Path to the directory with additional resources (i.e., JARs, configuration files etc.) to be added to the classpath. Such resources typically represent target MQ client libraries for the ConnectionFactory implementation. | ||
Broker URI | URI pointing to the network location of the JMS Message broker. For example, 'tcp://myhost:61616' for ActiveMQ or 'myhost:1414' for IBM MQ | ||
SSL Context Service |
Controller Service API: SSLContextService Implementation: StandardSSLContextService |
The SSL Context Service used to provide client certificate information for TLS/SSL connections. |
Dynamic Properties:
Dynamic Properties allow the user to specify both the name and value of a property.
Name | Value | Description |
The name of a Connection Factory configuration property. | The value of a given Connection Factory configuration property. | The properties that are set following Java Beans convention where a property name is derived from the 'set*' method of the vendor specific ConnectionFactory's implementation. For example, 'com.ibm.mq.jms.MQConnectionFactory.setChannel(String)' would imply 'channel' property and 'com.ibm.mq.jms.MQConnectionFactory.setTransportType(int)' would imply 'transportType' property. |
See Also:
ConsumeJMS, PublishJMS
Summary:
This ControllerService serves as a general factory service to serving vendor specific instances of the javax.jms.ConnectionFactory. It does so by allowing user to configure vendor specific properties as well as point to the location of the vendor provided JMS client libraries so the correct implementation of the javax.jms.ConnectionFactory can be found, loaded, instantiated and served to the dependent Processors (see PublishJMS, ConsumeJMS).
To accommodate variety of JMS vendors and their implementation of the ConnectionFactory this ControllerService exposes only 3 static configuration properties that are common across many implementations of the ConnectionFactory. The rest of the configuration properties are set following Java Beans convention (see below).
The 3 static configuration properties are:
-
MQ ConnectionFactory Implementation - A fully qualified name of the JMS ConnectionFactory implementation class (i.e., org.apache.activemq.ActiveMQConnectionFactory)
-
MQ Client Libraries path - Path to the directory with additional resources (i.e., JARs, configuration files etc.) to be added to the classpath. Such resources typically represent target MQ client libraries for the ConnectionFactory implementation. It is optional if you are using Apache ActiveMQ since its libraries are distributed with this component.
-
Broker URI - URI pointing to the network location of the JMS Message broker. For example, ‘tcp://myhost:61616’ for ActiveMQ or simply ‘myhost:1414’.
The rest of the properties are set as Dynamic Properties following Java Beans convention where a property name is derived from the set** method of the vendor specific ConnectionFactory’s implementation. For example,com.ibm.mq.jms.MQConnectionFactory.setChannel(String)* would imply ‘channel’ property andcom.ibm.mq.jms.MQConnectionFactory.setTransportType(int) would imply ‘transportType’ property. For the list of available properties please consult vendor provided documentation. Here is an example for IBM’s com.ibm.mq.jms.MQConnectionFactory