Я пытаюсь настроить приемник 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 еще не полностью поддерживает его?
некоторые ресурсы, которые я нашел полезными до сих пор:
- Wildfly-Swarm и подключение к внешнему activemq через ресурс адаптер: WFLYCTL0412
- Подключение Wildfly 11 к удаленной конфигурации сервера Artemis ActiveMQ < / а>
- https://blog.dekstroza.io/wildfly-swarm-to-remote-wildfly-swarm-activemq-broker/
- Получение сообщения MQTT с помощью Wildlfy 11, встроенного Apache Artemis
- http://docs.wildfly-swarm.io/2017.12.1/#_messaging < / а>
- http://docs.wildfly-swarm.io/2017.12.1/#_sockets < / а>