gpt4 book ai didi

java - 在 Spring 中使用事务时创建提交后

转载 作者:IT老高 更新时间:2023-10-28 13:47:19 27 4
gpt4 key购买 nike

由于某些原因,我使用 Spring PlatformTransactionManager 手动执行事务提交和回滚,我需要做的是设置一个 Hook ,以便在事务提交后执行提交后操作。

通过查看:

 void commit(TransactionStatus status) throws TransactionException;

如果没有抛出异常,我无法确定交易是否成功,除非假设它是成功的。

我可以使用 AOP 作为一种选择,但是如何以编程方式执行它,也许使用回调方法?

最佳答案

您可以通过 TransactionSynchronizationManager 以更简单的方式得到您想要的。和 TransactionSynchronization

使用 TransactionSynchronizationManager,您可以使用静态方法来获取有关当前事务的信息,并且您可以注册一个 TransactionSynchronization,它允许您在调用时自动执行提交后那个

TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronization(){
void afterCommit(){
//do what you want to do after commit
}
})

请注意,TransactionSynchronization 是基于每个线程的(这对于基本的 Web 请求通常不是问题)。

关于java - 在 Spring 中使用事务时创建提交后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15026142/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com