2023.06.14,我还在看慕课的rabbitMQ,一个前端开发
没有的
看routingkey与消费者中是不是匹配不上。例如order.*和order.abc就可以,实在不行把order.*改成order.#试一下
1.下载Eralng,下面链接已提供otp_win64_20.2.exe
链接: https://pan.baidu.com/s/1lmvCMPVAV1Ba9UogCdQpZg
提取码:x9m7
2.下载rabbitmq,下面链接已提供rabbitmq-server-3.7.4.exe
链接: https://pan.baidu.com/s/1CPfhg5X1e7UitpgMWIcAEg
提取码:h4r3
定时任务每十秒会抓取一次数据库中满足条件的消息,也就是视屏中的最大尝试次数没有到3的,状态不是2的
队列的完成要注意
按理来说应该是没有这个可能的。可以删除消费端 从生产端copy
推送记录日志
channel引的包不对吧
自己敲呗 就这几行代码
这两种应该没有明显的可比性,不知道你这个问题是要对比什么? CorrelationData 是实现接口 ConfirmCallback ,重写其confirm()方法的参数之一,表示对象内部只有一个 id 属性,用来表示当前消息的唯一性;而DeliveryTag 可以做此消息处理通道的名字,回传告诉 rabbitmq 这个消息处理成功并清除此消息,每次接收消息+1。
可以使用 confirmCallBack + returnCallBack 双重的方式保证消息投递到 Queue
同学你解决了吗,我也是这个问题。有时候时正常启动,但是无法监听到消息。有时候直接就是这样报错
ConfirmCallBack 回调只能保证消息已经到达服务器,但不能保证消息一定会被投递到目标 Queue 里。
我觉得您提出的“消费出现异常”,和消息投递的可靠性是两个东西。这里的重试机制也仅仅是消息无法投递到MQ做出的补偿。?
延长定时时间?
可以放在redis中,取redis的比取数据库的要速度要快
事务列表看一下
这个是消息投递,并不是在消费者那块直接访问DB,我感觉你可以看看mq的使用场景?
RabbitListener绑定监听列队,看信道是否有消息发送过来。