为什么JTA不支持嵌套事务

San*_*dal 9 java transactions jta nested-transactions java-ee

为什么JTA不支持嵌套事务?是因为实施它们的复杂性(我怀疑)还是一些设计原则?

Ste*_*n C 3

(正如 @Piotr Nowicki 指出的,JTA确实允许嵌套事务,但这是可选的而不是强制的。)

为什么?这是不可能肯定回答的问题之一,除非你是做出决定时“在房间里”的人之一。

  • 这可能是由于将嵌套事务包含在规范中所固有的复杂性。或者当时明显的复杂性;也就是说,他们不确定自己是否知道如何做好指定它们的工作

  • 可能是他们认为需求不足。

  • 可能是时间压力……或者只是疲惫。

  • 可能是“商业原因”;例如,某些供应商不想通过扩大规范范围来干扰产品发布时间表。

但是,最重要的是,如果您想要真正的答案,您需要询问编写 JTA 规范的工作组中的人员。(我怀疑他们会告诉你......记录在案。)