如何解决将Spring Boot连接到Wildfly中的Active MQ Artemis
我是Wildfly 20和Active MQ Artemis的新手。我想将Spring Boot应用程序与在Wildfly内部运行的Active MQ Artemis连接起来。
pom.xml
@SpringBootApplication
@EnableJms
public class ActiveMqProducerApplication {
public static void main(String[] args) {
SpringApplication.run(ActiveMqProducerApplication.class,args);
}
}
ActiveMqProducerApplication.java
@RestController
@RequestMapping("/api")
public class MessageController {
private JmsTemplate jmsTemplate;
public MessageController(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}
@GetMapping("message/{message}")
public ResponseEntity<String> publish(@PathVariable("message") final String message){
jmsTemplate.convertAndSend("Test",message);
return ResponseEntity.ok(message);
}
}
MessageController.java
server.port=8081
spring.artemis.mode=native
spring.artemis.host=localhost
spring.artemis.port=8280
spring.artemis.user=admin
spring.artemis.password=admin
application.properties
<subsystem xmlns="urn:jboss:domain:messaging-activemq:10.0">
<server name="default">
<statistics enabled="${wildfly.messaging-activemq.statistics-enabled:${wildfly.statistics-enabled:false}}"/>
<security-setting name="#">
<role name="guest" send="true" consume="true" create-non-durable-queue="true" delete-non-durable-queue="true"/>
</security-setting>
<address-setting name="#" dead-letter-address="jms.queue.DLQ" expiry-address="jms.queue.ExpiryQueue" max-size-bytes="10485760" page-size-bytes="2097152" message-counter-history-day-limit="10"/>
<http-connector name="http-connector" socket-binding="http" endpoint="http-acceptor"/>
<http-connector name="http-connector-throughput" socket-binding="http" endpoint="http-acceptor-throughput">
<param name="batch-delay" value="50"/>
</http-connector>
<in-vm-connector name="in-vm" server-id="0">
<param name="buffer-pooling" value="false"/>
</in-vm-connector>
<http-acceptor name="http-acceptor" http-listener="default"/>
<http-acceptor name="http-acceptor-throughput" http-listener="default">
<param name="batch-delay" value="50"/>
<param name="direct-deliver" value="false"/>
</http-acceptor>
<in-vm-acceptor name="in-vm" server-id="0">
<param name="buffer-pooling" value="false"/>
</in-vm-acceptor>
<jms-queue name="ExpiryQueue" entries="java:/jms/queue/ExpiryQueue"/>
<jms-queue name="DLQ" entries="java:/jms/queue/DLQ"/>
<jms-queue name="Bla" entries="java:/jms/queue/Bla"/>
<connection-factory name="InVmConnectionFactory" entries="java:/ConnectionFactory" connectors="in-vm"/>
<pooled-connection-factory name="activemq-ra" entries="java:/JmsXA java:jboss/DefaultJMSConnectionFactory" connectors="in-vm" transaction="xa"/>
</server>
</subsystem>
Wildfly中的standalone.xml
org.apache.activemq.artemis.api.core.ActiveMQConnectionTimedOutException: AMQ219013: Timed out waiting to receive cluster topology. Group:null
at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:712) ~[artemis-core-client-2.12.0.jar:2.12.0]
at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnectionInternal(ActiveMQConnectionFactory.java:884) ~[artemis-jms-client-2.12.0.jar:2.12.0]
at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:299) ~[artemis-jms-client-2.12.0.jar:2.12.0]
at org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:294) ~[artemis-jms-client-2.12.0.jar:2.12.0]
当我致电localhost:8081 / api / message / test时,我收到错误消息:
{{1}}
看了很多关于stackoverflow的教程/示例和问题,但对我的问题一无所获。由于我是这个主题的新手,所以我的想法慢慢消失了。所以我希望有人可以帮助我解决我的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。