【发布时间】:2019-05-20 18:59:19
【问题描述】:
我正在使用@Transactional 来管理事务
@Override
@Transactional
public List<FooBo> save(Foo foo, Foo foo2) {
logger.debug(() -> String.format("FooService.save()"));
repository.save(foo);
return repository1.save(foo2);
}
我在使用TransactionAspectSupport.currentTransactionInfo()时找不到交易ID
还有其他方法吗? (如果 Spring 维护事务的唯一 ID)
更新: 我的场景是我想根据事务 id 在静态上下文中放置一些信息。在事务提交之后需要该信息。
例如 ..基于事务ID,我想将一些对象放在静态上下文中的map中,提交后需要利用这些对象..这就是我的想法
【问题讨论】:
-
什么是交易 ID?
-
@AlanHay 我假设每笔交易都有其唯一的 ID。我需要跟踪每笔交易。
-
为什么需要跟踪交易?你的用例是什么。这里。 Spring 不会生成任何东西,而是将其留给底层的 tx 解决方案。
-
@M.Deinum 我已经更新了我的问题。谢谢
-
@akuma8 ,但多线程是一样的。如果我使用它在静态上下文中保存一些信息,显然对于多线程,结果将是错误的
标签: spring-boot spring-transactions