首页 > 解决方案 > 如何从 SQLServerXADataSource 获取 XA 连接

问题描述

我试图了解我正在处理的遗留应用程序,特别是它如何处理跨不同位置的两个数据库的 XA 事务。

该应用程序基于在 Payara (Glassfish) 上运行的 JavaEE,并使用 jdbc 与数据库进行通信。

代码使用SQLServerXADataSource获取连接,但是这个类提供了多种获取连接getXAConnection()的方法:类自身提供,getPooledConnection()继承自SQLServerConnectionPoolDataSourcegetConnection()继承自SQLServerDataSource。但是,在处理 XA 事务时应该使用哪一个?

该代码SQLServerXADataSource.getConnection()目前使用,但我无法理解这将如何导致 XA-ready 连接,因为它来自似乎对 XA 一无所知的数据源。我在网上看到过SQLServerXADataSource.getXAConnection().getConnection()使用的例子,在使用 XA 事务时这会更正确吗?

标签: javasql-serverjdbcxa

解决方案


推荐阅读