Runnable 作为方法入参,意图是在此工具中懒执行这段Runnable代码,这样是可行的吗?有没有什么风险
public class TransactionCommitUtil {
public static void afterCommit(Runnable runnable){
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization() {
@Override
public void afterCommit() {
runnable.run();
}
});
}
}
//调用
TransactionCommitUtil.afterCommit(() -> {
logger.info("aaa -> {}","b")
});
没啥问题,关键要看你的业务需要,如果可以在事物提交后处理,这样做没有问题。