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

武汉设计工程学院官网网站优化就是搜索引擎优化

武汉设计工程学院官网,网站优化就是搜索引擎优化,国外购物网站系统,网站建设误期违约金赔偿限额问题描述 在一个事务内完成插入操作,通过MQ异步通知其他微服务进行事件处理。 由于是在事务内发送,其他服务消费消息,查询数据时还不存在如何解决呢? 解决方案 通过spring-tx包的TransactionSynchronizationManager事务管理器解…

问题描述

在一个事务内完成插入操作,通过MQ异步通知其他微服务进行事件处理。
由于是在事务内发送,其他服务消费消息,查询数据时还不存在如何解决呢?


解决方案

通过spring-tx包的TransactionSynchronizationManager事务管理器解决。

public abstract class TransactionSynchronizationManager {private static final ThreadLocal<Set<TransactionSynchronization>> 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.* <p>Note 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");Set<TransactionSynchronization> 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.tj-hxxt.cn/news/22783.html

相关文章:

  • 企业营销网站开发建设专家销售
  • 旅游网站建设相关报价表格网站赚钱
  • 重庆微网站建设哪家好国内最新新闻大事
  • 重庆好的网站制作公司手机版谷歌浏览器入口
  • 如何做网站结构优化成人技能培训班有哪些
  • 道真网络推广方案杭州seo网络公司
  • 网站用什么字体站长之家0
  • 重庆微网站建设真正免费建站网站
  • 网站开发教程 视频 ssh网络营销的六大功能
  • 沃尔玛官网网上商城湖北百度seo排名
  • 天权网站建设windows优化大师要会员
  • 企业网站优化方案模板免费创建网站软件
  • 大城 网站建设营销型网站建设运营
  • 免费最好网站建设头条新闻
  • 微信运营环境加载失败怎么办seo外包服务公司
  • 网站模板登录模块福建百度开户
  • 全国网站建设谷歌seo搜索引擎
  • 教做炸鸡汉堡视频网站百度推广年费多少钱
  • 个人网站模板h5google付费推广
  • 昆明 网站搭建引擎搜索大全
  • 教育网页设计网站app推广策划方案
  • 杭州网站建设模板免费浏览网站推广
  • 南山网站建设公司国内免费域名
  • 网站开发前端要学什么百度手机seo软件
  • 文件上传到沧州建设局网站郑州疫情最新动态
  • 做网站卖东西送上门微信推广平台收费标准
  • 企业网站属于下面哪种媒体类型国际军事最新消息今天
  • 电商网站费用2023年5月最新疫情
  • 厦门网站建设培训学校百度百家号官网
  • 网上申报系统百度seo关键词工具