не удается запустить акцептор STOMP в Wildfly Swarm

Я пытаюсь настроить приемник STOMP в моем развертывании Swarm на основе Wildfly 11 (с использованием Swarm 2017.12.1 для генерации толстой WAR, работающей через java -jar...), чтобы клиенты могли отправлять мне сообщения о ходе выполнения, но не мог загрузить приемник , всегда получайте эту ошибку при запуске сервера:

AMQ222203: в пути к классам отсутствует диспетчер протоколов для протокола STOMP, протокол игнорируется на принимающей конфигурации TransportConfiguration (name = stop-acceptor, factory = org-apache-activemq-artemis-core-remoting-impl-netty-NettyAcceptorFactory)? Port = 61613 &tocols = Торможение

Я использую существующую (но адаптированную) конфигурацию standalone-full.xml, чтобы упростить переключение, и пока все работает нормально (с точки зрения Java EE), но не часть STOMP (хотя JMS работает).

Я включил некоторые зависимости в POM WAR, чтобы исправить предыдущие ошибки загрузки классов, но теперь у меня заканчиваются идеи:

<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, а также SO, но не нашел рабочего решения. Может ли быть, что Wildfly 11 не будет работать, поскольку он использует Artemis 1.5, а Swarm еще не полностью поддерживает его?

некоторые ресурсы, которые я нашел полезными до сих пор:


person Gregor    schedule 05.01.2018    source источник


Ответы (1)


Дружественный и полезный чат на # wildfly-swarm дал объяснение и возможное решение, но нам придется подождать исправления ошибки, см. https://issues.jboss.org/browse/SWARM-1763

Кен Финниган выяснил первопричину ошибки в настройке модулей для обмена сообщениями в Wildfly:

Проблема связана с тем, что org.apache.activemq.artemis module.xml определяет модули протокола для STOMP, AMQP и HornetQ как необязательные, поэтому WF Swarm не принимает их.

person Gregor    schedule 05.01.2018