简体   繁体   English

RabbitMQ嵌入式代理不是从Spring Boot应用程序启动的

[英]RabbitMQ embedded broker is not starting from spring boot application

I am unable to send message in "CustomerQ" queue of rabbitmq broker. 我无法在Rabbitmq代理的“ CustomerQ”队列中发送消息。 I have configured rabbitmq broker as embedded server through spring boot. 我已经通过spring boot将Rabbitmq Broker配置为嵌入式服务器。

 package com.testlab.chapter2;

  import org.springframework.amqp.core.Queue;
  import org.springframework.amqp.rabbit.core.RabbitMessagingTemplate;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.context.annotation.Bean;
  import org.springframework.context.annotation.Lazy;
  import org.springframework.stereotype.Component;



  @Component 
  @Lazy
 class Sender {

  RabbitMessagingTemplate template;

  @Autowired
  Sender(RabbitMessagingTemplate template){
    this.template = template;
  }

  @Bean
  Queue queue() {
    return new Queue("CustomerQ", false);
   }

   public void send(String message){
    System.out.println(template.getRabbitTemplate().getConnectionFactory());

    template.convertAndSend("CustomerQ", message);
    }
  }

 **application.properties file configuration:**

  spring.rabbitmq.host=localhost
  spring.rabbitmq.port=5672
  spring.rabbitmq.username=guest
  spring.rabbitmq.password=guest

I am getting below error when code is trying to connect/put any message in queue Error: 当代码尝试连接/放入队列中的任何消息时,我得到以下错误消息

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; 路径为[]的Servlet [dispatcherServlet]的Servlet.service()抛出异常[请求处理失败; nested exception is org.springframework.messaging.MessagingException: java.net.ConnectException: Connection refused: connect; 嵌套的异常是org.springframework.messaging.MessagingException:java.net.ConnectException:连接被拒绝:connect; nested exception is org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect] with root cause 嵌套的异常是org.springframework.amqp.AmqpConnectException:java.net.ConnectException:连接被拒绝:[connect]具有根本原因

java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_25] at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_25] at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_25] at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_25] at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_25] at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_25] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_25] at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_25] java.net.ConnectException:连接被拒绝:在java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)处以java.net.DualStackPlainSocketImpl.waitForConnect(本机方法)〜[na:1.8.0_25]〜[na:1.8 .0_25]在java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)〜[na:1.8.0_25]在java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)〜[na:1.8.0_25]在java.net.java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)〜[na:1.8.0_25]〜java.net处的[na:1.8.0_25]〜[na:1.8.0_25]。 SocksSocketImpl.connect(SocksSocketImpl.java:392)〜[na:1.8.0_25] at java.net.Socket.connect(Socket.java:589)〜[na:1.8.0_25]

I will appreciate your help on this. 多谢您的协助。

There's no such thing as an "embedded RabbitMQ broker". 没有所谓的“嵌入式RabbitMQ经纪人”。

You have to install and start it separately. 您必须单独安装和启动它。 It is not written in Java, it's Erlang. 它不是用Java编写的,而是Erlang。

What leads you to believe Boot embeds a broker? 是什么使您相信Boot嵌入了经纪人?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM