rabbitMq插件式延迟队列,延迟交换机创建失败

Satomi丶 2019-09-24 05:27:00
最近业务需求要使用延迟队列,网上百度了rabbitMq有插件式的延迟队列,安装插件也成功了。



然后在代码中创建延迟交换机的时候,启动报错reply-code=541



/* * 延迟消息交换机
*
*/
@Bean
public CustomExchange delayExchange() {
Map<String, Object> args = new HashMap<String, Object>();
args.put("x-delayed-type", "direct");
return new CustomExchange(RabbitMqConfig.DELAYED_EXCHANGE, "x-delayed-message", true, false, args);
}


启动后,rabbitMq的可视化界面也没有这个name的交换机,说明该延迟交换机创建失败,求各位大佬解答,万分感谢!!!


报错信息
2019-09-24 17:03:40.443 ERROR 6572 --- [104.185.58:5672] o.s.a.r.c.CachingConnectionFactory : Channel shutdown: connection error; protocol method: #method<connection.close>(reply-code=541, reply-text=INTERNAL_ERROR, class-id=0, method-id=0)
...全文
820 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Satomi丶 2019-11-28
  • 打赏
  • 举报
回复
引用 9 楼 HessianTes 的回复:
[quote=引用 4 楼 HessianTes 的回复:] 大佬我也遇到这个问题了 请问你解决了吗
延迟插件的版本过低不匹配 然后延迟队列使用不了 我也是醉了[/quote] 我也解决了,我和你问题一样,我也醉了醉了。。3.7.x的插件我装在了我3.6.9的rabbitmq上了。。
HessianTes 2019-11-19
  • 打赏
  • 举报
回复
引用 4 楼 HessianTes 的回复:
大佬我也遇到这个问题了 请问你解决了吗
延迟插件的版本过低不匹配 然后延迟队列使用不了 我也是醉了
Satomi丶 2019-11-11
  • 打赏
  • 举报
回复
引用 7 楼 水边2 的回复:
楼上贴错了,把C#的贴出来了, Java版本的应该是: https://github.com/youbl/JavaDemo/blob/master/src/main/java/com/beinet/firstpg/mqDemo/RabbitMQPool.java 但是我还没有改写延迟队列,我们的Java项目,全部使用Quartz来完成任务了。
十分感谢回复,现在才想起来看帖子,我目前也是改成使用Quartz来完成此类需求的了。
游北亮 2019-10-18
  • 打赏
  • 举报
回复
楼上贴错了,把C#的贴出来了, Java版本的应该是: https://github.com/youbl/JavaDemo/blob/master/src/main/java/com/beinet/firstpg/mqDemo/RabbitMQPool.java 但是我还没有改写延迟队列,我们的Java项目,全部使用Quartz来完成任务了。
游北亮 2019-10-18
  • 打赏
  • 举报
回复
我没用插件,直接使用消息ttl和死信转发属性来处理, 参考封装: https://github.com/youbl/DemoCode/blob/master/src/Beinet.MQ/RabbitMQPool.cs 队列定义:DelayQueueDeclare 消息发布:DelayPublish 消息接收:DelayWaitQueue 另外,延迟队列如果量大,很容易造成MQ内存上升,性能降低,有崩溃的可能, 推荐使用计划任务,比如 quartz 注册一个任务,让它5分钟后调用指定的url,达到延迟的目的。
Satomi丶 2019-10-18
  • 打赏
  • 举报
回复
引用 4 楼 HessianTes 的回复:
大佬我也遇到这个问题了 请问你解决了吗
没有。。我先放在那里了,因为对业务影响不大,目前去开发其他业务了
HessianTes 2019-10-10
  • 打赏
  • 举报
回复
大佬我也遇到这个问题了 请问你解决了吗
Satomi丶 2019-09-24
  • 打赏
  • 举报
回复
配置文件 交换机代码 还没有绑定队列,因为在创建该交换机上就出错了,所以还没绑队列
Satomi丶 2019-09-24
  • 打赏
  • 举报
回复
rabbitMq可视化界面上创建也可以选择到延迟队列
Satomi丶 2019-09-24
  • 打赏
  • 举报
回复
求各位大佬解答,万分感谢
赧然的猪 2022-09-21
  • 举报
回复
@Satomi丶 你好,请问你解决了吗?我也遇到了这个问题

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧