Runnable接口作为入参使用的问题

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")
});

没啥问题,关键要看你的业务需要,如果可以在事物提交后处理,这样做没有问题。