三、Main函数中创建java轮询机制任务並设置java轮询机制的时间间隔
//创建触发器 每10秒钟执行一次 //将任务及其触发器放入调度器 //调度器开始调度任务
四、执行main函数,查看控制台输出
三、Main函数中创建java轮询机制任务並设置java轮询机制的时间间隔
//创建触发器 每10秒钟执行一次 //将任务及其触发器放入调度器 //调度器开始调度任务
四、执行main函数,查看控制台输出
消息确认是指生产端投递消息後,如果Broker
收到消息则会给我们生产端一个应答。生产端接收应答用来确定这条消息是否正常发送到Broker
,这种方式也是消息可靠性投递的核心保障!
如何实现消息确认机制
我们需要实现消息确认机制,首先我们必须要开启这种机制
现在我们开启了生产端消息确认机制,但當Broker
收到消息给我们生产端一个应答,我们需要有处理这个应答的方法(异步回调方法处理消息发送成功或者失败这很像博主之前用AIO模型实现的简易多人聊天室,也是异步回调)所以需要一个处理应答的回调函数,根据具体的结果对消息进行重新发送、或记录日志等后續处理如下:
现在我们实现了消息确认机制,生产端投递消息Broker
收到消息,给生产端一个应答如果消息成功收到,回调函数会输出ack
否则输出no ack
。
我们这里使用的是默认交换机它的路由规则可以看看下面这篇博客。
运行生产端会发现每次运行结果都可能不一样会有多種情况出现,因为Broker
会进行优化有时会批量一次性Confirm ,有时会分开几条Confirm
还有其他情况就不列举了。
我们来看看RabbitMQ Management
有40
条消息准备好了,因为峩启动了四次生产端来进行测试
现在,我们启动消费端消费端也成功收到了这40
条消息。
我们再来看看RabbitMQ Management
很显然消息已经全部被消费者接收了。