Java 我们可以在存储库层中使用一个XA资源和两个非XA资源吗
我们可以在同一存储库类中使用xa和非xa资源的组合吗。 如果可以,请任何人解释一下它将如何运作,以及交易将如何运作。目前,我们在存储库中使用2个xa资源和2个非xa资源。我们使用的是玻璃鱼和日食鱼。Java 我们可以在存储库层中使用一个XA资源和两个非XA资源吗,java,jpa,eclipselink,Java,Jpa,Eclipselink,我们可以在同一存储库类中使用xa和非xa资源的组合吗。 如果可以,请任何人解释一下它将如何运作,以及交易将如何运作。目前,我们在存储库中使用2个xa资源和2个非xa资源。我们使用的是玻璃鱼和日食鱼。 方法中是否存在任何问题。您不能在一个事务中使用多个本地=非XA数据源,但您可以在一个全局事务中组合多个XA资源,或者让一个非XA资源参与具有1个XA数据源的全局事务,请参阅LLR/ 您可以考虑的事项: 禁用对一个非XA数据源的事务支持,或将它们包装在支持@TransactionAttributeNO
方法中是否存在任何问题。您不能在一个事务中使用多个本地=非XA数据源,但您可以在一个全局事务中组合多个XA资源,或者让一个非XA资源参与具有1个XA数据源的全局事务,请参阅LLR/ 您可以考虑的事项: 禁用对一个非XA数据源的事务支持,或将它们包装在支持@TransactionAttributeNOT_的EJB中以禁用事务。您也可以手动编排事务,但这可能会成为一个相当麻烦的问题 来自:旧版本,但同样适用于新版本 事务范围本地事务只涉及一个非XA事务 资源,并要求所有参与的应用程序组件 在一个进程内执行。本地事务优化是特定的 对于资源管理器来说是透明的,对于JavaEE应用程序来说是透明的 在GlassFish服务器中,如果JDBC资源满足以下条件之一,则它是非XA的 在下列准则中: 在JDBC连接池配置中,DataSource类不会 未实现javax.sql.XADataSource接口 资源类型设置未设置为javax.sql.XADataSource 如果以下条件仍然成立,则事务仍为本地事务: 仅使用一个非XA资源。如果有任何额外的非XA 资源被使用时,事务被中止 没有事务导入或导出发生 涉及多个资源或多个参与者的事务 流程是分布式或全局事务。全球交易 如果启用了最后一个代理优化,则可能涉及一个非XA资源。 否则,所有资源都必须是XA。最后一个代理优化的使用 属性默认设置为true。有关如何设置的详细信息,请参见 属性,请参阅配置事务服务 如果事务中只使用一个XA资源,则一个阶段提交 发生,否则事务将与两个阶段进行协调 提交协议