Setup messaging subsystem using ActiveMQ in WildFly

341 views Asked by At

I'm trying to enable ActiveMQ from WildFly 30 (I need MQTT support), but I'm having a problem even when trying to add a server:

[standalone@localhost:9990 /] /subsystem=messaging-activemq/server=default:add
{
    "outcome" => "failed",
    "failure-description" => "WFLYCTL0158: Operation handler failed: java.lang.IllegalStateException: WFLYMSGAMQ0107: You must define a elytron security doman when security is enabled.",
    "rolled-back" => true
}

I get similar behavior with a completely clean installation, both when using standalone.xml and standalone-full.xml

In standalone-full.xml there is only remote-connector configuration

<subsystem xmlns="urn:jboss:domain:messaging-activemq:16.0">
    <remote-connector name="artemis" socket-binding="messaging-activemq">
        <param name="use-nio" value="true"/>
        <param name="use-nio-global-worker-pool" value="true"/>
    </remote-connector>
    <pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="artemis" transaction="xa" user="guest" password="guest"/>
</subsystem>

I would like to get some help on how to configure this Elytron Security Domain or how to stop the security system itself (the app will only run locally, no external access to it).

Or would it be better to use a separate installation of ActiveMQ and in WildFly to configure a remote connection to it?

Basically, I want to get MQTT over JMS in WildFly.


Solution:

<subsystem xmlns="urn:jboss:domain:messaging-activemq:13.0">
    <server name="default">
        <security elytron-domain="ApplicationDomain"/>
    </server>
    
    ...
</subsystem>
1

There are 1 answers

2
ehsavoie On BEST ANSWER

You need either to setup an elytron domain or disable security. We used to provide the "other" legacy domain automatically but we still think that being explicit is 'better'.