提交事务后才执行某些方法

提交事务后才执行某些方法,

如果把逻辑直接写到@Transactional修饰的方法内部,有可能功能逻辑里读取到的还是没有被提交到库里的数据,还是脏数据

措施

需要添加事务的回调事件,事件提交完毕后,自动执行

@Transactional
@Override
public void saveOrUpdateResGroupAndRules(AlarmDescDetailsDto request) {
	syncToRedis(request.getDefinition());
}

@Override
public void syncToRedis(String resGroupCode){
	TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
		@Override
		public void afterCommit() {
			log.info(resGroupCode);
		}
	});
}
posted @ 2023-01-17 16:53  SpecialSpeculator  阅读(133)  评论(0)    收藏  举报