rabbitmq之无法自动创建队列的问题及解决过程

 更新时间:2026年05月06日 17:14:30   作者:enjoy嚣士  
文章描述了一项目使用RabbitMQ但仅使用发送功能未监听,导致启动时无自动创建队列的问题,作者通过手动连接RabbitMQ配置队列信息来解决此问题,并提供了一种测试可用的方法,此方法仅为作者个人经验,仅供参考

背景

子项目中使用了rabbitmq,但是只用了发送到队列的功能,没有监听,所以当项目启动时,并未自动创建队列

通过GPT,找到了如下解决方法,测试可用。

思路

配置队列信息时,手动调用连接rabbitmq一次,就会自动将队列创建好。

//以下代码添加到rabbitmq配置类中即可

@Value("${rabbitmq.registerQueueName:DefaultQueue}")
private String registerQueueName;

@Value("${rabbitmq.registerExchangeName:DefaultExchange}")
private String registerExchangeName;

@Resource
private ConnectionFactory connectionFactory;
/**
 * 队列
 *
 * @return
 */
@Bean
public Queue imageQueue() {
	return new Queue(registerQueueName, true);
}

/**
 * 交换机
 *
 * @return
 */
@Bean
public FanoutExchange imageExchange() {
	return new FanoutExchange(registerExchangeName, true, false);
}

/**
 * 绑定交换机和队列
 *
 * @return
 */
@Bean
public Binding bindingExchange() {
	return BindingBuilder.bind(imageQueue()).to(imageExchange());
}

//关键代码,手动连接rabbitmq一次,自动创建队列
@Bean
public ApplicationRunner runner() {
	return args -> connectionFactory.createConnection().close();
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • java中“==“和equals()的区别详解

    java中“==“和equals()的区别详解

    这篇文章主要给大家介绍了关于java中“==“和equals()区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 使用Properties读取配置文件的示例详解

    使用Properties读取配置文件的示例详解

    开发SpringBoot项目时,使用配置文件配置项目相关属性是必不可少的,所以下文为大家准备了使用Properties读取配置文件的示例代码,希望对大家有所帮助
    2023-06-06
  • java抛出异常的几种情况小结

    java抛出异常的几种情况小结

    这篇文章主要介绍了java抛出异常的几种情况小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java Persistence对象关系映射的基础与应用

    Java Persistence对象关系映射的基础与应用

    这篇文章主要介绍了Java Persistence对象关系映射的基础与应用,Persistence API是Java平台提供的对象关系映射标准,旨在简化关系型数据库的持久化操作,它在Java EE和Java SE环境中均可使用,为开发者提供了统一的数据访问方式,需要的朋友可以参考下
    2025-05-05
  • java中的Object类的toSpring()方法

    java中的Object类的toSpring()方法

    这篇文章主要介绍了java中的Object类的toSpring()方法,Object是类层次结构的根,每个类都可以将Object作为超类。所有类都直接或者间接的继承自该类,下文相关资料,需要的朋友可以参考下
    2022-04-04
  • Spingboot JPA CriteriaBuilder 如何获取指定字段

    Spingboot JPA CriteriaBuilder 如何获取指定字段

    这篇文章 主要介绍了Spingboot JPA CriteriaBuilder 如何获取指定字段,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • executor包执行器功能

    executor包执行器功能

    这篇文章主要介绍了executor包执行器功能,executor包中的各个子包提供的功能,最终这些功能都由Executor接口及其实现类共同对外提供服务。下文介绍该执行功能,具有一定的参考价值,需要的朋友可以考一下
    2022-02-02
  • springboot如何通过controller层实现页面切换

    springboot如何通过controller层实现页面切换

    在Spring Boot中,通过Controller层实现页面切换背景,Spring Boot的默认注解是@RestController,它包含了@Controller和@ResponseBody,@ResponseBody会将返回值转换为字符串返回,因此无法实现页面切换,将@RestController换成@Controller
    2024-12-12
  • 使用Java构造和解析Json数据的两种方法(详解一)

    使用Java构造和解析Json数据的两种方法(详解一)

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式。接下来通过本文给大家介绍使用Java构造和解析Json数据的两种方法,需要的朋友参考下吧
    2016-03-03
  • java生成二维码并且给二维码添加logo

    java生成二维码并且给二维码添加logo

    这篇文章主要介绍了java生成二维码并且给二维码添加logo的实例代码,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12

最新评论