当前位置: 首页 > 知识库问答 >
问题:

无法让跺脚接受器在野蝇群中运行

马航
2023-03-14

AMQ222203:类路径缺少协议STOMP的协议管理器,在acceptor TransportConfiguration(name=stomp-acceptor,factory=org-apache-activemq-artemis-core-remoting-impl-netty-nettyAcceptorFactory)上忽略了协议?port=61613&protocols=STOMP

我使用了一个现有的(但经过修改的)standalone-full.xml配置来简化切换,到目前为止一切都很好(Java EE方面),但STOMP部分不太好(但JMS工作)。

我在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等,但没有找到一个有效的解决方案。会不会是Wildfly11不能工作,因为它使用的是Artemis1.5,Swarm还没有完全支持它?

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

  • wildfly-swarm和通过资源适配器连接到外部activemq:wflyctl0412
  • Wildfly 11连接到远程Artemis ActiveMQ服务器配置
  • https://blog.dekstroza.io/wildfly-swarm-to-remote-wildfly-swarm-activemq-broker/
  • 使用Wildlfy 11嵌入式Apache Artemis接收MQTT消息
  • http://docs.wildfly-swarm.io/2017.12.1/#_消息传递
  • http://docs.wildfly-swarm.io/2017.12.1/#_sockets

共有1个答案

颜志业
2023-03-14

关于#wildfly-swarm的友好而有益的聊天带来了解释和可能的解决方案,但我们必须等待bugfix,请参见https://issues.jboss.org/browse/swarm-1763

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

这个问题是由于org.apache.activemq.artemismodule.xml将STOMP、AMQP和HornetQ的协议模块定义为可选的,所以WF Swarm不会接收它们。

 类似资料:
  • 我想从詹金斯那里向wildfly部署一个war文件。我尝试了很多方法,但都不管用 我使用了将WAR/EAR部署到wildfly插件,但它对我不起作用,我得到了错误: (致命:无法初始化命令上下文。生成步骤“将WAR/EAR部署到WildFly”将生成标记为失败已完成:失败), 我搜索了那个问题,但给出的答案对我没有帮助。 在我使用将WAR/EAR部署到容器的构建后操作中,它对我也不起作用,我得到了

  • 我使用discovery api和Zookeeper在docker容器中运行了一个Hazelcast集群。这一切都运行良好,集群启动并按预期工作。我的问题是将客户端从另一台服务器连接到群集。 集群将127.0.0.1和172.17.0.1作为集群地址返回给zookeeper,这意味着客户端在同一台机器上运行良好,但即使172.17.0.1映射在客户端的主机文件中,也不会从远程机器连接到Hz集群的服

  • 我有一个web应用程序部署为使用Wildfly的爆炸战争。我想要得到的是 null 目前,我所处的情况是,我可以选择其中一个或另一个,但不能同时获得这两个选项(这意味着,要么每个jsp更改都强制进行新的部署,要么.class文件不强制进行新的部署)。 wildfly的当前配置(使用版本8.1.0)为 此外,我还发现,无论我在deployment-scanner配置中设置了什么,一旦服务器启动并运行

  • 我正在尝试将jboss wildfly 8配置为将Jackson用于JSON。所以我补充说 我的耳朵工程。但在部署时,我会遇到以下错误: 原因:java。lang.LinkageError:加载程序约束冲突:解析重写的方法“org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider$Proxy$\u$$WeldClien

  • 大家好,我正试图使用sqlserver jdbc与野飞AP,但当我试图测试数据源后的连接,我总是得到这个错误: 以下是配置文件的内容: module.xml: 独立的。xml: 最后,我的jdbc jar文件位于以下路径: wildfly-14.0。0.Final\modules\system\layers\base\com\microsoft\sqlserver\main

  • 发生在我身上的是MDB接收消息并尝试处理它们,甚至我的服务器也没有完全启动 知道怎么解决这个问题吗?