开始
创建包sender 发送器
首先是需要Component注解,然后需要一个打日志的注解.Slf4j
加上注解
注入restTemplate,再注入我们的Service类
只有一个核心方法就是send,也不需要抛异常,如果有错误的话,就会默默的重发
先打印日志,把入参都打印出来
业务放放在try块里面,里面可能抛出异常,
消息被持久化
对消息设置属性,新建消息。
都是要找MQP包下面的。
CorrelationData就是消息返回、消息重发、消息确认的时候用的。消息返回的时候会带着这个CorrelationData,我们可以把data取出来。然后找到是我们数据库存的哪一条消息。
消息的id就放进CorrelationData
发送完消息,把id打印出来
我们的业务发消息,直接调用这个send方法就可以了。
消息确认返回的逻辑
这里是确认回调和返回回调
act为true表示消息接收了。并且correlationData不能为空,correlationData如果为空我们也找不到这条消息。
先取出message的id
注入
直接把消息删掉了 不需要重新发了
else的逻辑,打印日志
发送确认就是有没有这个交换机。有交换机肯定会被正确的投递。
消息返回
returnCallback一旦被调用就是消息找不到这个队列了。
那就直接把这个消息重新持久化。
我们在消息发送的时候把消息的id设置上。