Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Transactions 容器管理事务:幕后_Transactions_Ejb_Jta - Fatal编程技术网

Transactions 容器管理事务:幕后

Transactions 容器管理事务:幕后,transactions,ejb,jta,Transactions,Ejb,Jta,我知道EJB中的事务处理由EJB容器/应用服务器负责 现在我想更多地理解这一点,例如,考虑一个场景,在这个场景中,我们有一个分布式事务(两个以上的资源作为事务的一部分);我读到这一切都有JTA,JTS 我的问题是: 1) 容器是否实现了用于事务处理的JTA规范 2) 集装箱是否提供JTS服务 如果#1和#2不正确,那么容器如何提供事务支持?它是否“借用”了其他开源项目的功能来完成这类工作 有人能帮助理解这一点吗 PS:我确实参考了网上和书本上的资料,但我仍然不清楚,因此提出了这个问题。答案可以在

我知道EJB中的事务处理由EJB容器/应用服务器负责

现在我想更多地理解这一点,例如,考虑一个场景,在这个场景中,我们有一个分布式事务(两个以上的资源作为事务的一部分);我读到这一切都有JTA,JTS

我的问题是: 1) 容器是否实现了用于事务处理的JTA规范

2) 集装箱是否提供JTS服务

如果#1和#2不正确,那么容器如何提供事务支持?它是否“借用”了其他开源项目的功能来完成这类工作

有人能帮助理解这一点吗


PS:我确实参考了网上和书本上的资料,但我仍然不清楚,因此提出了这个问题。

答案可以在最新的EJB规范中找到

1) 容器是否实现了用于事务处理的JTA规范

21.3.3 JTA 1.1要求

EJB容器必须包含JTA1.1扩展,并且必须 向企业提供javax.transaction.UserTransaction接口 通过 ejb.EJBContext接口,以及JNDI中的名称 java:comp/UserTransaction,在EJB要求的情况下 规范。其他JTA接口是低级事务 管理器和资源管理器集成接口,而不是 供企业bean直接使用

2) 集装箱是否提供JTS服务

13.1.3与JTA和JTS的关系

EJB体系结构不需要EJB容器来支持 JTS接口。EJB体系结构要求EJB容器 支持[8]中定义的JTA API和中定义的连接器API [15]

3) 如果#1和#2不正确,那么容器如何提供事务支持?它是否“借用”了其他开源项目的功能来完成这类工作

我真的不明白这些问题。一般来说,Oracle/Sun提供了一套接口或规范,每个供应商(Glassfish、Weblogic、JBoss等)将提供其具体实现


在过去,应用服务器必须经过Sun的认证才能被视为符合JEE,我想这与Oracle完全相同。因此,您可以通过开源库提供具体的实现,其他人将决定您的服务器是否兼容。

答案可以在最新的EJB规范中找到

1) 容器是否实现了用于事务处理的JTA规范

21.3.3 JTA 1.1要求

EJB容器必须包含JTA1.1扩展,并且必须 向企业提供javax.transaction.UserTransaction接口 通过 ejb.EJBContext接口,以及JNDI中的名称 java:comp/UserTransaction,在EJB要求的情况下 规范。其他JTA接口是低级事务 管理器和资源管理器集成接口,而不是 供企业bean直接使用

2) 集装箱是否提供JTS服务

13.1.3与JTA和JTS的关系

EJB体系结构不需要EJB容器来支持 JTS接口。EJB体系结构要求EJB容器 支持[8]中定义的JTA API和中定义的连接器API [15]

3) 如果#1和#2不正确,那么容器如何提供事务支持?它是否“借用”了其他开源项目的功能来完成这类工作

我真的不明白这些问题。一般来说,Oracle/Sun提供了一套接口或规范,每个供应商(Glassfish、Weblogic、JBoss等)将提供其具体实现


在过去,应用服务器必须经过Sun的认证才能被视为符合JEE,我想这与Oracle完全相同。因此,您可以通过开源库提供具体的实现,其他人将决定您的服务器是否兼容。

您是否阅读了实际的规范?@SteveC:几页,难以理解,这就是为什么你想在这里了解一点,然后参考说明书。你读过实际的说明书吗?@SteveC:几页,很难理解,这就是为什么你想在这里了解一点,然后参考说明书。