Considerations for JMS Providers
Review your JMS provider documentation for information about any specific considerations for JMS support.
AMQP Messaging Providers
Integration Server has been tested to communicate with the RabbitMQ and Azure Service Bus providers. Integration Server uses the QPID JMS client libraries for AMQP to communicate with these JMS providers. Integration Server was tested with the Qpid JMS AMQP 0-x 6.3.3 JMS client libraries.
Apache ActiveMQ
If you are using SSL/TLS to connect to Apache Active MQ broker, do the following:
![*](chapterTOC_bullet.png)
Use the keytool provided by Apache ActiveMQ to create a certificate for the broker, set up key and truststores, and import the ActiveMQ broker's public certificate into
Integration Server.
![*](chapterTOC_bullet.png)
Use the
javax.net.ssl properties to set the location of the keystore and truststore files for connecting with the ActiveMQ broker. For
Integration Server, set the
javax.net.ssl properties in the
custom_wrapper.conf file. For example:
![*](chapterTOC_bullet.png)
wrapper.java.additional.
n= -Djavax.net.ssl.keystore=
keystoreLocation![*](chapterTOC_bullet.png)
wrapper.java.additional.
n+1= -Djavax.net.ssl.keyStorePassword=
password![*](chapterTOC_bullet.png)
wrapper.java.additional.
n+2= -Djavax.net.ssl.trustStore=
truststoreLocationFor Microservices Runtime, set Java system properties in the following file using the JAVA_CUSTOM_OPTS property: Integration Server_directory /bin/setenv.bat(sh) .
![*](chapterTOC_bullet.png)
If you need to configure two-way SSL with the ActiveMQ broker, import the public certificate for
Integration Server into the ActiveMQ broker truststore.
IBM MQ
Integration Server has been tested to communicate with IBM MQ 9.0 JMS provider. Consider the following points while connecting to IBM MQ 9.0.
![*](chapterTOC_bullet.png)
If you are setting up an SSL connection to IBM MQ 9.0, consider modifying the CipherSuite value in the JNDI
.bindings file based on the JRE specified for
Integration Server and IBM's recommendation.
![*](chapterTOC_bullet.png)
By default, IBM MQ 9.0 supports JMS 2.0 specification. However,
Integration Server supports JMS 1.1 specification. Therefore, set the following property to
true in
Software AG_directory \profiles\IS_instance_name\configuration\custom_wrapper.conf file so that
Integration Server functions seamlessly with IBM MQ 9.0.
wrapper.java.additional.availableNumber=-Dcom.ibm.mq.jms.SupportMQExtensions=true
Alternatively, you can set the value of watt.config.systemProperties property as com.ibm.mq.jms.SupportMQExtensions=true.
For Microservices Runtime, set Java system properties in the following file using the JAVA_CUSTOM_OPTS property: Integration Server_directory /bin/setenv.bat(sh) .
Solace PubSub+ Appliance and Cloud
Direct Transport mode in Solace PubSub+ does not support the following features:
![*](chapterTOC_bullet.png)
Message selector
![*](chapterTOC_bullet.png)
Local transaction support
![*](chapterTOC_bullet.png)
Durable subscription
Note:Guaranteed Transport mode in Solace PubSub+ supports the above features.
If you use Direct Transport mode in Solace PubSub+ and your JMS provider uses any of these features, Integration Server responds in these ways:
![*](chapterTOC_bullet.png)
If a JMS trigger is subscribed to a topic and uses the
Message selector feature, then
Integration Server does not enable the trigger and displays the message,
Error creating consumer - cannot use selector with direct messaging.
![*](chapterTOC_bullet.png)
If the transaction type of a JMS connection alias pointing to
Solace PubSub+ is
Local transaction or
XA transaction, then
Integration Server cannot execute the JMS send and receive operations and displays the message,
Transacted sessions or XA sessions are not supported with direct transport.
![*](chapterTOC_bullet.png)
If a JMS trigger is subscribed to a topic with durable subscriber name, then
Integration Server does not enable the trigger and displays the message,
Unknown Durable Topic Endpoint.