
spring JmsTemplate的sendAndReceive方法
发布日期:2021-05-08 12:12:47
浏览次数:18
分类:精选文章
本文共 752 字,大约阅读时间需要 2 分钟。
spring JmsTemplate的sendAndReceive方法:
使用destinationName字符串和MessageCreator的匿名内部类作为参数,JmsMessageVo中的数据装入MessageCreator,执行executeLocal:
使用SessionCallback匿名内部类作为参数,ConnectionFactory创建createConnection一个connection,使用connection.createSession创建session,启动连接connection.start();SessionCallback的实例化对象调用doInJms,传入session作为参数:
resolveDestinationName(session, destinationName)将指定的目的地名解析为目的地实例Destination,执行JmsTemplate的doSendAndReceive(session, destination, messageCreator)方法:
发送消息doSend(producer, requestMessage),接收消息doReceive(consumer, getReceiveTimeout())
默认RECEIVE_TIMEOUT_NO_WAIT=-1,timeout=0,接下来如果执行receiveNoWait()不阻塞等待,直接返回null,receive(timeout)传参表示等待timeout时间,不传表示一直处于阻塞状态等待消息,所以默认情况下会一直阻塞等待。
接收是阻塞式的接收,默认会一直阻塞等待,直到接收到了消息。也可以设置一个最长的等待时间参数,超过这个时间,接收的方法将得到null的结果。
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年04月02日 15时44分41秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
使用Redis作为Spring Security OAuth2的token存储
2021-05-09
【SOLVED】Linux使用sudo到出现输入密码提示延迟时间长
2021-05-09
项目引入非配置的文件,打成war包后测试报错的可能原因
2021-05-09
Git学习笔记
2021-05-09
SpringBoot笔记
2021-05-09
让你的代码更优秀的 14 条建议
2021-05-09
不需要爬虫也能轻松获取 unsplash 上的图片
2021-05-09
将博客搬至CSDN
2021-05-09
elementUi源码解析(1)--项目结构篇
2021-05-09
自动遍历测试之Monkey工具
2021-05-09
Nmap扫描工具介绍
2021-05-09
算法笔记:递归、动态规划
2021-05-09
Pytest插件开发
2021-05-09
常用Windows 快捷键
2021-05-09
linux命令-压缩与打包
2021-05-09