Springboot 2.x RabbitTemplate默认消息持久化的示例分析


这篇文章主要为大家展示了“Springboot2.xRabbitTemplate默认消息持久化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Springboot2.xRabbitTemplate默认消息持久化的示例分析”这篇文章吧。之前在Java直接测试mq消息持久化时,采取如下的配置实现消息的持久化:其中针对BasicProperties中的源码信息为:参照博客:消息应答(autoAck)、队列持久化(durable)以及消息持久化上面的配置是Java直接测试时,所需要编写的代码逻辑,如果采取springboot配置,则会出现默认消息持久化的现象。至于测试案例,可以参考下列博客:SpringBoot整合RabbitMQ实现消息确认机制首先将消息消费代码进行注释。执行接口,创建消息存入队列中。要想知道为什么消息会自动持久化,则需要关注rabbitTemplate.convertAndSend(exchange,routingKey,msg)这个方法。从源码执行逻辑可以看出:rabbitTemplate提供的消息加载至队列中,采取的数据类型为Object,但在其源码逻辑中,又将Object消息类型,进行了this.convertMessageIfNecessary(object)处理,将object对象类型转化为Message对象类型。从此处可以看出,rabbitTemplate为了让开发者处理数据更简单,将消息持久化等操作默认进行了配置。现在,一起来看convertMessageIfNecessary(object)做了什么?判断当前免费云主机域名的数据类型,是否是Message类型。如果是Message类型,则直接将其强转Message
如果不是,则执行了新的方法,将其转换了一次。转换过程如下所示:后面的就不深入了。那持久化的默认配置在哪进行的?回到最初的convertAndSend执行方法。该参数由类创建加载时生成,其数据如下所示:也就是说,在convertMessageIfNecessary时,会判断传递的参数类型是否为Message类型,如果不是则需要再包装一次。如果不想设定消息持久化,传递的数据类型为Message类型即可!以上是“Springboot2.xRabbitTemplate默认消息持久化的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注百云主机行业资讯频道!

相关推荐: 怎么使用canvas绘制折线路径动画

小编给大家分享一下怎么使用canvas绘制折线路径动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如果用canvas来绘制,其中的难点在于:需要计算子路径,这块计算比较复杂。(当然…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 09/12 15:01
Next 09/12 15:01

相关推荐