我正在尝试从 WildFly 30 启用 ActiveMQ(我需要 MQTT 支持),但即使在尝试添加服务器时也遇到问题:
[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
}
在使用
standalone.xml
和 standalone-full.xml
时,我通过完全干净的安装得到了类似的行为
在
standalone-full.xml
中只有远程连接器配置
<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>
我想获得一些有关如何配置此 Elytron 安全域或如何停止安全系统本身的帮助(该应用程序仅在本地运行,无法从外部访问它)。
或者单独安装 ActiveMQ 并在 WildFly 中配置远程连接会更好吗?
基本上,我想在 WildFly 中通过 JMS 获取 MQTT。
解决方案:
<subsystem xmlns="urn:jboss:domain:messaging-activemq:13.0">
<server name="default">
<security elytron-domain="ApplicationDomain"/>
</server>
...
</subsystem>
您需要设置 elytron 域或禁用安全性。我们曾经自动提供“其他”遗留域,但我们仍然认为明确是“更好”。