DEV Community

Tech Community for Software AG Tech Community

Posted on • Originally published at tech.forums.softwareag.com on

Integration Server support for AMQP with providers (Azure Service Bus and RabbitMQ)

Overview

Integration Server supports JMS over AMQP by using Apache QPID client libraries. We can connect with 0.x and 1.0 protocol with the limitations of unsupported features (based on providers)

  * MessageSelectors are not supported.
  * Temporary destinations are not supported.
  * Transacted/distributed transactions are not supported.
  * Volatile topic subscriptions not supported
  * One to many session -> consumer not supported

Enter fullscreen mode Exit fullscreen mode

and there might be many based on the provider.

Warning : While creating a JMS connection alias in Integration Server, consider unchecking the “Create Temporary Queue” option as JMS over AMQP doesn’t support temporary destinations. Without this the connection might get into a hung state and will always show as “In Progress”.

Recommendations : Frequent polling sometimes introduces issues with Azure Service Bus sessions, and those bad sessions will have a side effect on both client and server as the consumers will continuously trying to reconnect, so consider increasing the primary and secondary thread polling intervals in Integration Server.

Tune the following AMQP properties correctly as per the need

jms.prefetchPolicy

amqp.idleTimeout

Having a short idle timeout will have frequent connection refresh, so I would recommend to change the default idle timeout.

The documentation says it officially supports 0.x protocol version and uses the 0.x version JNDI content factory class as a default value for the JNDI template for QPID AMQP 0.x, where as the upcoming release will also add the support for 1.0 protocol

Check out the full article in the Software AG Tech Community to learn about the different JNDI configurations for AMQP protocols and the step by step of the RabbitMQ Setup.

Top comments (0)