当前位置: 首页 > news >正文

江西网站制作公众号开发者

江西网站制作,公众号开发者,裤子seo优化标题,内蒙古赤峰市建设局网站问题描述 在一个事务内完成插入操作#xff0c;通过MQ异步通知其他微服务进行事件处理。 由于是在事务内发送#xff0c;其他服务消费消息#xff0c;查询数据时还不存在如何解决呢#xff1f; 解决方案 通过spring-tx包的TransactionSynchronizationManager事务管理器解…问题描述 在一个事务内完成插入操作通过MQ异步通知其他微服务进行事件处理。 由于是在事务内发送其他服务消费消息查询数据时还不存在如何解决呢 解决方案 通过spring-tx包的TransactionSynchronizationManager事务管理器解决。 public abstract class TransactionSynchronizationManager {private static final ThreadLocalSetTransactionSynchronization synchronizations new NamedThreadLocal(Transaction synchronizations);/*** Return if transaction synchronization is active for the current thread.* Can be called before register to avoid unnecessary instance creation.* see #registerSynchronization*/ public static boolean isSynchronizationActive() {return (synchronizations.get() ! null);}/*** Register a new transaction synchronization for the current thread.* Typically called by resource management code.* pNote that synchronizations can implement the* {link org.springframework.core.Ordered} interface.* They will be executed in an order according to their order value (if any).* param synchronization the synchronization object to register* throws IllegalStateException if transaction synchronization is not active* see org.springframework.core.Ordered*/public static void registerSynchronization(TransactionSynchronization synchronization)throws IllegalStateException {Assert.notNull(synchronization, TransactionSynchronization must not be null);SetTransactionSynchronization synchs synchronizations.get();if (synchs null) {throw new IllegalStateException(Transaction synchronization is not active);}synchs.add(synchronization);}}Rocketmq方法封装通过TransactionSynchronizationManager.isSynchronizationActive()判断当前方法的调用是否在事务内。 如果是则注册一个事务同步适配器在事务提交后发送消息。 否则直接发送。 /*** 事务内发送 mq时使用,强制到事务结束后发送*/public SendResult sendAfterTrans(String topic, String tag, String key, String body) {final SendResult[] res new SendResult[1];try {// 是否开启事务判断if (TransactionSynchronizationManager.isSynchronizationActive()) {log.debug(Mysql事务内Mq消息发送 延迟到事务提交后 waiting……);TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {Overridepublic void afterCommit() {log.debug(Mysql事务内Mq消息发送 发送消息 body:{}, body);res[0] send(topic, tag, key, body);}});} else {return this.send(topic, tag, key, body);}} catch (Exception e) {e.printStackTrace();}return res[0];}
http://www.hkea.cn/news/14522726/

相关文章:

  • 在线视频下载网站如何做天津网站优化首页
  • 域名自动更新中免费网站优化软件
  • 山西太原网站建设公司哪家好比地招标网官网
  • 服务器windos做网站什么网站上做推广效果比较好
  • 秋莱网站建设搜索引擎网站推广可以自己做吗
  • 建站工具 开源在建项目人员查询网站
  • 企业做网站分一般为哪几种类型基于html5的移动端网站开发
  • 电子商务网站建设的展望做网站 什么主题较好
  • 泰州网站建设 思创wordpress for ipad
  • 用html5设计个人网站公司的网站打不开
  • 彩票网站开发dadi163wordpress批量修改图片标题
  • 一个网站的建设需要哪些流程图我的企业网站怎么seo
  • 常州免费网站建站模板wordpress添加顶部导航条
  • 随州北京网站建设网络营销的目的和意义
  • 制作企业网站用什么软件合肥知名网站制作公司
  • 淘宝导购网站建设小程序营销策略
  • wordpress点评系统淘宝seo是指什么
  • 重庆 网站设计上海市建设工程咨询有限公司
  • 杭州seo博客深圳网站seo优化
  • 体育设施建设发布有没有网站php网站开发教程 pdf
  • 广州做手机网站信息国家域名备案查询
  • iis6.1添加网站wordpress 无法更换会员注册页面
  • 做网站设计要注意什么问题高端的的网站建设公司
  • 关于asp sql网站开发的书籍prower wordpress
  • 网站怎么做引流珠海手机网站
  • 建设网站通过什么赚钱为什么要先创建站点后建立文件?能否改变两者的顺序?
  • 做网站搞什么流量seo顾问收费
  • 自建站 外贸wordpress 提速插件
  • 外贸网站开发公司网站建设丶金手指花总12
  • 网站后缀有哪些建设网站不显示添加白名单