2.6 Setup for Apache Artemis - jmstoolbox/jmstoolbox GitHub Wiki

Apache ActiveMQ Artemis (+Wildfly v10.x +JBoss EAP v7.x)

https://activemq.apache.org/artemis/

Server version

They are two plugins available for Apache Artemis:

  • Apache Artemis for servers at level v1.x (Also used by Wildfly v10.x and JBoss EAP v7.x servers, see below)
  • Apache Artemix v2.x for servers v2.x+

Requirements

In broker.xml, add:

<security-setting match="jms.queue.hornetq.management">
  <permission type="manage" roles="<admin role>" />
</security-setting>

Extra JARS

No extra jar is needed as JMSToolBox is bundled with the latest ActiveMQ Artemis jars

Connection Properties

Name Description
Host Apache ActiveMQ Artemis netty acceptor host name (eg localhost)
Port Apache ActiveMQ Artemis netty listening port (eg. 61616)
User/Password User allowed to connect to Apache ActiveMQ Artemis, ie associated to the role defined previously

Properties

Name Description
httpEnabled Use an HTTP netty acceptor to connect to the server
httpUpgradeEnabled Multiplexing messaging traffic over HTTP
sslEnabled Use an SSL netty acceptor to connect to the server
trustStorePath Trust store (eg D:/somewhere/trust.jks)
trustStorePassword Trust store password
z_ExtraNettyProperties Semicolon separated list of netty connector properties. eg "trustAll=true;tcpNoDelay=true;tcpSendBufferSize=16000"
minLargeMessageSize Connection factory parameter. Artemis will consider larger messages as 'large messages'. Defaults to 100K (Artemis v2.x)
compressLargeMessage Connection factory parameter. Compress large messages? Defaults to false (Artemis v2.x)

For the list of netty properties, visit https://activemq.apache.org/artemis/docs/latest/configuring-transports.html

Wildfly v10.x+ and JBoss EAP v7.x considerations

Wildfly v10.x and JBoss EAP v7.x now embed Apache Artemis: v 1.x as their messaging engine
More information in the official JBoss EAP documentation
To connect JMSToolBox with the out-of-the-box JBoss EAP messaging engine configuration:

  • in JMSToolBox, define a session with the Apache Artemis Queue Manager
  • do not set httpEnabled (or set it to false)
  • do set httpUpgradedEnabled to true
  • unless set differently, the default port is 8080
  • the user that will connect to the messaging engine must have the "manage" permission.

One easy way of doing this is to add the manage='true'stanza to the existing one in standalone-full.xml file and add the user to the corresponding role:

<subsystem xmlns="urn:jboss:domain:messaging-activemq:1.0">
   <server name="default">
      [...]
      <security-setting name="#">
          <role name="guest" 
                      manage="true" 
                      send="true" 
                      consume="true" 
                      create-non-durable-queue="true" 
                      delete-non-durable-queue="true"/>

Be aware that with this simplistic settings, all users with the "guest" role will have the "manage" permission on the messaging engine.

⚠️ **GitHub.com Fallback** ⚠️