AMQP Connections (and JMS)

This page shows all existing AMQP and JMS connections. Via the context menu, you can edit and delete these or create new ones.

See also sections AMQP/JMS (Input Agent) and Response Route AMQP/JMS.

Creating an AMQP Connection


images/download/attachments/53415894/129-version-1-modificationdate-1645766883268-api-v2.png


(1) The AMQP version (0.9.1 or 1.0). The value JMS is for JMS connections, see below. See also the following sections. Note : For AMQP connections of version 1.0 (and only there) the message header ContentType is set with the value of the system variable AMQP_SYS_ContentType. The message property ContentType, on the other hand, is set with AMQP_ContentType. Example value: application/json

(2) Here you specify the alias of a connected AMQP server. You can then use the alias in Input Agent AMQP/JMS a nd in Response Route AMQP/JMS. Note: The alias (and therefore the connection) is activated if the corresponding checkbox is set.

(3) The URL/IP and the port of the AMQP server. The default port is 5672.

(4) If SSL is used, the keystore, with the client certificate in format PKCS#12, is expected as file ./conf/amqp/<alias>/keycert.p12. The truststore, containing the public key of the server, is expected as file ./conf/amqp/<alias>/trustStore. The keystore and truststore have to be protected with the same passphrase (7). Obfuscation is allowed. See also (5).

(5) As an alternative to using a truststore, a certificate can be selected here. The certificate need to have option TLS Client set. If one has been selected, the value in (7) is deleted and the field disappears.

(6) User name and password if necessary.

(7) If (4) is set, but there is no passphrase specified (and (5) is not set), the SSL connection will not use a client certificate and the server certificates will not be checked. Keystore and truststore are not necessary in that case.

Special Features for AMQP Version 0.9.1


images/download/attachments/53415894/130-version-1-modificationdate-1645767178803-api-v2.png


(1) See https://www.rabbitmq.com/vhosts.html.

(2) The connection timeout in seconds should be greater than 0. The value 0 means no timeout.

(3) If the checkbox is set, the queue is not created if it does not exist. This might generate an error if a profile wants to log on to a queue that does not exist with an Input Agent of type AMQP/JMS.

(4) If the checkbox is set, a queue that no longer has any profile 'listening' to it, is removed. This can be useful if queues are only used by Lobster_data.


You will also find settings (3) and (4) in the configuration file ./etc/startup.xml.


<Set name="QueuesMustExist">false</Set>
<Set name="RemoveQueueOnLastConsumer">true</Set>

Creating a JMS Connection


You can use these settings to connect to a JMS server. JMS queues can then be read out with AMQP/JMS Input Agents and AMQP/JMS Response Routes can be used to write into JMS queues.

Note: Please place the jar file (e.g. activemq-all-5.10.0.jar) of your JMS server into folder ./extlib.


images/download/attachments/53415894/131-version-1-modificationdate-1645767493591-api-v2.png


(1) Use value JMS here.

(2) Here, the initial JNDI Context Factory of the JMS server must be specified. When using ActiveMQ, you can use the value org.apache.activemq.jndi.ActiveMQInitialContextFactory.

(3) Here, the name of the Connection Factory (of the Context Factory) must be specified. When using ActiveMQ, you can use the default value ConnectionFactory.

(4) The URL of your JMS server. Note: SSL is unfortunately not very generic with JMS. The URL should start with ssl://<broker> instead of tcp://<broker> (unless the manufacturer already does something different). The certificate should be in the keystore (unless you can also override/pass this with JMS properties). Furthermore the two JMS properties jms.ssl.certificate.username and jms.ssl.certificate.password should be defined, see (6).

(5) Optionally, a client ID for the connection can be specified. A client ID is used to uniquely identify an application. This is necessary, for example, for so-called durable subscriptions. For details, see the documentation of your JMS server.

(6) Optionally, further JMS properties can be set for the connection here. For details, see the documentation of your JMS server.

Azure Service Bus


First, put the current Apache Qpid driver jars (qpid-jms-driver and proton-j) in the ./extlib directory.

You must enter specific values for the following items.


(2) Enter value org.apache.qpid.jms.jndi.JmsInitialContextFactory.

(3) Enter value SBCF.

(4) Enter value amqps://<SERVICEBUS_NAMESPACE>. You can ask your Azure admin for the <SERVICEBUS_NAMESPACE>.

(6) Here you need to insert the following properties. First for the login:

  • java.naming.security.principal=RootManageSharedAccessKey

  • java.naming.security.credentials=<PRIMARY_KEY_VALUE>

In addition, a property of the following kind must be created for each queue:

  • queue.<IDENTIFIER>=<SERVICEBUS_QUEUE_NAME>

You can also ask your Azure admin for the <PRIMARY_KEY_VALUE> and the <SERVICEBUS_QUEUE_NAME>. You can freely assign the <IDENTIFIER> value. You then use it in a profile as the queue name.