Java 无法在Wildfly Swarm中运行跺脚接受器

Java 无法在Wildfly Swarm中运行跺脚接受器,java,configuration,messaging,wildfly-swarm,activemq-artemis,Java,Configuration,Messaging,Wildfly Swarm,Activemq Artemis,我正在尝试使用Swarm 2017.12.1在基于Wildfly 11的Swarm部署中设置STOMP acceptor,以生成一个fat WAR,通过java-jar运行…,让客户端向我发送进度消息,但无法加载acceptor,服务器启动时总是会出现以下错误: AMQ222203:类路径缺少协议STOMP的协议管理器,在acceptor TransportConfigurationname=STOMP acceptor,factory=org apache activemq artemis c

我正在尝试使用Swarm 2017.12.1在基于Wildfly 11的Swarm部署中设置STOMP acceptor,以生成一个fat WAR,通过java-jar运行…,让客户端向我发送进度消息,但无法加载acceptor,服务器启动时总是会出现以下错误:

AMQ222203:类路径缺少协议STOMP的协议管理器,在acceptor TransportConfigurationname=STOMP acceptor,factory=org apache activemq artemis core remoting impl netty NettyAcceptorFactory?port=61613&protocols=STOMP上忽略协议

我正在使用一个现有但经过调整的standalone-full.xml配置来简化切换,到目前为止,在Java EE方面一切正常,但JMS的STOMP部分不起作用

我已经在WAR的POM中包含了一些依赖项来修复以前的类加载错误,但现在我已经没有主意了:

<dependency>
  <groupid>org.apache.activemq</groupid>
  <artifactid>activemq-rar</artifactid>
  <version>5.15.2</version>
  <type>rar</type>
</dependency>
<dependency>
  <groupid>org.apache.activemq</groupid>
  <artifactid>activemq-stomp</artifactid>
  <version>5.15.2</version>
</dependency>
<dependency>
  <groupid>io.netty</groupid>
  <artifactid>netty-all</artifactid>
  <version>4.1.5.Final</version>
</dependency>
所以我依靠Swarm来找出所需的碎片,这对其余部分有效

我的消息部分配置如下所示:

<acceptor name="stomp-acceptor" factory-class="org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptorFactory">
    <param name="protocols" value="STOMP"/>
    <!--param name="connection-ttl" value="30000"/-->
    <param name="host" value="${jboss.bind.address:127.0.0.1}"/>
    <param name="port" value="61613"/>
    <!--param name="stomp-enable-message-id" value="true"/-->
</acceptor>
我搜索了Swarm、Artemis等,但没有找到有效的解决方案。 Wildfly 11是否会因为使用了Artemis 1.5而Swarm尚未完全支持而无法工作

到目前为止,我发现一些有用的资源:


在wildfly swarm上进行的友好和有益的聊天带来了解释和可能的解决方案,但我们将不得不等待错误修复,请参阅

Ken Finnigan发现Wildfly中消息传递模块配置错误的根本原因:

该问题是org.apache.activemq.artemis module.xml将STOMP、AMQP和HornetQ的协议模块定义为可选的结果,因此WF Swarm不会选择它们


在wildfly swarm上进行的友好和有益的聊天带来了解释和可能的解决方案,但我们将不得不等待错误修复,请参阅

Ken Finnigan发现Wildfly中消息传递模块配置错误的根本原因:

该问题是org.apache.activemq.artemis module.xml将STOMP、AMQP和HornetQ的协议模块定义为可选的结果,因此WF Swarm不会选择它们