当前位置: 首页 > 知识库问答 >
问题:

RabbitMQ embedded broker不是从Spring Boot应用程序启动的

孙钱青
2023-03-14

我无法在rabbitmq代理“CustomerQ”队列中发送消息。我已经通过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

代码试图连接/放入队列中的任何消息时,我得到以下错误:

路径为[]的上下文中servlet[dispatcherServlet]的servlet.Service()引发异常[请求处理失败;嵌套异常为org.SpringFramework.Messaging.MessagingException:java.net.ConnectException:connect;嵌套异常为org.SpringFramework.Amqp.AmqpConnectException:java.net.ConnectException:connect]并带有根本原因[请求处理失败;嵌套异常为org.SpringFramework.Messaging.MessagingException:connect

java.net.ConnectException:连接被拒绝:连接在java.net.DualStackPlainsockeTimpl.WaitForConnect(本机方法)~[NA:1.8.0_25]在java.net.DualStackPlainsockeTimpl.java:85)~[NA:1.8.0_25]在java.net.AbstractPlainsockeTimpl.doConnect(AbstractPlainsockeTimpl.345)~[NA:1.8.0_25]在

我将感谢你在这方面的帮助。

共有1个答案

田志尚
2023-03-14

没有所谓的“嵌入式RabbitMQ经纪人”。

您必须分别安装和启动它。它不是用Java写的,而是Erlang。

是什么让你相信Boot嵌入了一个经纪人?

 类似资料:
  • 我正试图将运行在tomcat上的现有应用程序更改为SpringBoot。它一直运行到真正的SpringBoot启动。我有一个类似的应用程序运行在SpringBoot上。这就是我知道它一直运行到Springboot的原因。 我的主要方法: 我尝试使用@componentscan运行main方法,该方法具有如下所示的basePackages: 这无济于事。我尝试在main类的顶部添加@SpringBo

  • 使用spring-boot时,一切工作都很好。尽管如此,在spring-boot中已删除了注释和。我试图将代码重构为新版本,但我做不到。对于以下测试,我的应用程序在测试之前没有启动,http://localhost:8080返回404: 如何重构测试以使其在Spring-Boot1.5中工作?

  • 我的程序编译了所有内容,我没有出错,但我实际上期望tomcat应该永久在端口8080上。输出中也没有Spring。在另一个项目中,我做的一切都很好。谢谢你帮助我。 我的父母: 我的tarter.class: 我的Starter-Pom: 控制台输出: 然后什么都不会发生了。谢谢你的帮助。

  • 问题内容: 我正在寻找一种从Matlab中启动应用程序的方法。问题是,我的Matlab脚本将一些结果保存到文件中,然后应在关联的应用程序中打开(在这种情况下为Blender)。 我熟悉类似的命令 要么 以及其他一些方法,但实际上,该应用程序是从Matlab PATH启动的,因此它在Matlab目录中查找所需的各种库。例如: 是否有某种方法可以启动使用全局(系统)PATH的应用程序? 不久前,我以为

  • 我在intellij上启动spring boot应用程序时遇到问题,它失败了,并显示以下消息:与目标VM断开连接,地址:'127.0.0.1:49784',传输:'socket' 过程结束,退出代码为255。以前有人遇到过这种情况吗?

  • 我使用的是。我在自动读取或时遇到了一个问题。如果我为配置,我将得到以下错误。 更新来自我11月22日: 如果我创建了新的类并在该类上启用自动配置,那么JavaMailSender和JavaMailSenderImpl就可以正确地实现autowired,Spring Boot应用程序就可以成功启动。我已经在application.class中启用了AutoConfiguration。用EnableA