我希望在@Transactional方法中做一些工作,然后作为这个触发器的结果,一个异步方法来做一些更密集的处理。我计划简单地通过使用ExecutorService或TaskExecutor并向其添加任务来实现这一点 - 似乎很容易。
但是,如果原始事务失败,则不应运行此异步方法,如果TaskExecutor因某种原因拒绝该任务,则事务失败将会很好。
现在,我能想到的最好的方法是拥有一个执行事务工作的方法,然后完成将任务添加到TaskExecutor。但是,我想知道是否有一种方法可以告诉Spring在当前事务提交而不是现在提交时将方法添加到TaskExecutor中?