【问题标题】:ActiveMq and SpringbootActiveMq 和 Springboot
【发布时间】:2019-09-21 00:10:04
【问题描述】:

我是 Spring Boot 新手,正在尝试使用 Spring Boot 编写消费者

下面是我的sn-p:

application.properties
spring.activemq.broker-url=tcp://localhost:8161
spring.activemq.user=admin
spring.activemq.password=admin

SampleActiveMQApplication.java

@SpringBootApplication
@EnableJms
public class SampleActiveMQApplication {


    public static void main(String[] args) {
        SpringApplication.run(MicroserviceAddPayeeApplication.class, args);
    }
}

Consumer.java

@Component
public class Consumer {

    @JmsListener(destination = "queue/msgQueue")
    public void receiveQueue(String text) {
        System.out.println("inside consumer");
        System.out.println(text);
    }

}

我收到以下错误

2018-04-23 07:08:08.277  WARN 9196 --- [enerContainer-1] o.s.j.l.DefaultMessageListenerContainer  : Setup of JMS message listener invoker failed for destination 'queue/msgQueue' - trying to recover. Cause: Disposed due to prior exception
2018-04-23 07:08:08.292 ERROR 9196 --- [enerContainer-1] o.s.j.l.DefaultMessageListenerContainer  : Could not refresh JMS Connection for destination 'queue/msgQueue' - retrying using FixedBackOff{interval=5000, currentAttempts=0, maxAttempts=unlimited}. Cause: Cannot send, channel has already failed: tcp://127.0.0.1:8161

请帮忙:

【问题讨论】:

  • 尝试检查主机或端口是否可以从您的代码运行的位置访问。
  • 您是否从同一主机执行您的发布者和订阅者?
  • 我正在从节点 js 发布并尝试从 Spring Boot 中使用。节点能够发布。
  • 如我所见,您使用在本地主机上运行的外部 ActiveMQ,您是否尝试过命令行“telnet localhost 8161”?你能发布更多日志吗
  • 我可以使用 localhost:8161 从浏览器访问 ActiveMq

标签: java spring-boot activemq


【解决方案1】:

您确定您的代理在您指定的端口 8161 上进行侦听吗?默认情况下,Active-mq 管理控制台侦听可通过浏览器访问的端口 8161,代理侦听 61616。您可能需要确认这一点。您可以查看更多信息here

【讨论】:

    猜你喜欢
    • 2018-10-10
    • 2017-04-19
    • 2017-05-28
    • 1970-01-01
    • 2016-08-05
    • 2020-02-17
    • 2023-03-13
    • 2019-08-13
    • 1970-01-01
    相关资源
    最近更新 更多