Download apache artemis from https://activemq.apache.org/components/artemis/download/ and/or alternatively you can download Red Hat Jboss AMQ from the Red Hat portal: https://access.redhat.com/jbossnetwork/restricted/listSoftware.html?product=jboss.amq.broker

The following commands will

  1. Extract the installation,
  2. Create a broker mybroker in the current working directory, with
    • username=admin, password=admin
    • queues queue1,queue2,queue3 created
  3. Run the broker

Viewing the Console

A console will be available at http://localhost:8161/console, and you can login with admin/admin and browse the management console.

Artemis Console

Quit the running broker process in order to setup the ssl configuration

Securing the Broker

Generating keystores and truststores with OpenSSL and keytool

Anytime a password is required, for this case we have used password

Configure the Acceptor

We now need to copy the broker_ks.p12 and broker_ts.p12 to the broker’s ./etc directory and configure the following acceptor into the ./etc/broker.xml file.

<acceptor name="amqp-ssl">tcp://0.0.0.0:5671?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpMinCredits=300;connectionsAllowed=1000;sslEnabled=true;keyStorePath=broker_ks.p12;keyStorePassword=password;trustStorePath=broker_ts.p12;trustStorePassword=password</acceptor>

This can be done with sed, adding the line after the <acceptors> xml element.

Run the broker again:

"/home/user/workdir/bin/artemis" run

Let’s now test that we can access the ssl enabled queue with a groovy script (with camel :)). Note that the jmsUrl has been configured to use the client_ts.p12 truststore, and the password is password.

The output from the groovy script confirms that we are able to produce and consume messages from artemis over the amqps acceptor.

References


codergists