当前位置:首页 > 编程笔记 > 正文
已解决

解决Springboot集成RabbitMQ不自动生成队列的问题

来自网友在路上 164864提问 提问时间:2023-10-13 02:24:25阅读次数: 64

最佳答案 问答题库648位专家为你答疑解惑

1.RabbitMQ消息的消费端服务

RabbitMQ懒加载模式, 需要配置消费者监听才会创建

    @RabbitListener(queues = "test.queue")

另外一种方式(若Mq中无相应名称的队列,会自动创建Queue),改为如下

    @RabbitListener(queuesToDeclare = { @Queue(value = "test.queue",durable = "true", autoDelete = "false") })

2.RabbitMQ消息的生产端服务

 @Beanpublic RabbitAdmin rabbitAdmin(ConnectionFactory defaultConnectionFactory){return new RabbitAdmin(defaultConnectionFactory);}

使用rabbitAdmin.declareQueue方法

    @Beanpublic Queue queueGps() {// durable:是否持久化,默认是false,持久化队列:会被存储在磁盘上,当消息代理重启时仍然存在,暂存队列:当前连接有效// exclusive:默认也是false,只能被当前创建的连接使用,而且当连接关闭后队列即被删除。此参考优先级高于durable// autoDelete:是否自动删除,当没有生产者或者消费者使用此队列,该队列会自动删除。//一般设置一下队列的持久化就好,其余两个就是默认falseQueue queue = new Queue( "test.queue", true);rabbitAdmin.declareQueue(queue);return queue;}
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"解决Springboot集成RabbitMQ不自动生成队列的问题":http://eshow365.cn/6-19265-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!