用户事务类中有一个方法提交。当我们提交它时,首先它发现如果有一个与该线程关联的事务。我的问题是如何在核心java级别找出是否存在与当前线程关联的事务? (我知道它是JTA apis的内部流程,但仍然感兴趣)
答案 0 :(得分:0)
我能想到的一个简单方法是将一个带有Thread引用的映射保存为'key',将Transaction对象保存为'value'。对于过去没有创建事务的线程,地图中没有这样的键,因此UserTransaction实现可以决定抛出异常。
任何代码行都可以通过Thread.currentThread()知道它是哪个线程。
希望有所帮助。
谢谢, 尼丁