原文:如何在事务提交后才执行某个方法

如何在事务提交后才执行某个方法 开发过程中经常出现如下场景 新增一篇文章,然后发一个广播mq出去 广播监听者监听到消息然后根据文章id回查文章内容 但是此时新增文章的方法的事务还没有提交,根据id回查数据库的时候查到数据为空。 代码如下: 此时我们希望的效果是,等事务提交之后再发mq。 可以改成如下写法: 但是这样每次涉及这样的业务都需要包一层,而且很多时候并不知道调用add文章的外层是否还有 T ...

2020-11-06 17:44 0 653 推荐指数:

查看详情

@Transactional事务提交触发异步方法

一、问题复现 1.场景 2个service方法, 方法A中调用方法B。 方法A 是核心业务方法,涉及多张表数据变更,为了保持数据一致,用spring事务注解:@Transactional(rollbackFor = Exception.class) 方法B 比较耗时,为了不影响核心业务 ...

Fri Oct 11 01:46:00 CST 2019 0 5646
Spring 中TransactionalEventListener事务提交操作

在某些特定的业务场景下,我们可能需要在事务成功提交之后,再做某些操作,而不能将这些操作放在事务代码中,事务还未提交就已经执行了,那这种情况之下,spring提供的TransactionalEventListener就会派上用场了。 使用demo 1. 调用DemoService ...

Tue Dec 07 18:24:00 CST 2021 0 1478
何在mysql下实现事务提交与回滚

最近要对数据库的数据进行一个定时迁移,为了防止在执行过程sql语句因为某些原因报错而导致数据转移混乱,因此要对我们的脚本加以事务进行控制。 首先我们建一张tran_test表 我想对tran_test插入两条数据,但是为了防止插入中报错,因此我要把插入语句控制在一个事务 ...

Thu Jan 11 06:26:00 CST 2018 0 5065
前端技术之:如何在vuex状态管理action异步调用结束执行UI中的方法

一、问题的起源 最近在做vue.js项目时,遇到了vuex状态管理action与vue.js方法互相通信、互操作的问题。场景如下图所示: 二、第一种解决方法 例如,我们在页面初始化的时候,需要从服务端通过API接口获取数据,数据获取成功前需要显示Loading状态框,数据获取完成,需要 ...

Fri Nov 08 16:06:00 CST 2019 0 1080
MySQL Transaction--查看未提交事务执行的SQL

提交事务 长期未提交事务,指开启事务,长时间未向MySQL发出SQL执行请求或事务处理(COMMIT/ROLLBACK)请求,在系统表`information_schema`.`INNODB_TRX` 中状态为RUNNING,而在`information_schema ...

Mon Apr 29 23:14:00 CST 2019 0 2380
Easyui form提交input清空的方法

先上解决办法: $(#formid #inputid).val("") 将这个代码放在提交按钮最后就可以了。 我在做一个修改信息的功能时,发现上一次提交的内容在下一次打开的记录里又显示出来,因为有一个input框每一个记录都是不一样的,为了避免操作人员手工清空内容,我打打算在新记录修改时候清空 ...

Wed May 16 00:03:00 CST 2018 0 1103
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM