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>
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'.