【问题标题】:Use teradata datasource in websphere distributed transaction在 websphere 分布式事务中使用 teradata 数据源
【发布时间】:2020-03-23 07:27:33
【问题描述】:

我想在 websphere 9.0 的全局事务中使用 teradata 数据源以及 oracle XA 数据源。 我想弄清楚如何将 teradata 设置为 XA 数据源,是否有类似于 oracleConnectionpooldatasource 与 oracleXAdatasource 的特定实现类?我们是否有用于 TeraConnectionPoolDataSource 的等效 XA 数据源实现?有我们可以设置的连接池属性吗?

谢谢

【问题讨论】:

  • Teradata 数据库引擎对 2PC 有一些支持,但该模式不适用于 Teradata JDBC 驱动程序。它主要用于以 IBM 的事务服务器 (CICS) 或 IMS/DC 作为事务管理器的大型机应用程序。

标签: java websphere datasource teradata xa


【解决方案1】:

Teradata JDBC Driver Reference 仅记录 TeraConnectionPoolDataSource(实现 javax.sql.ConnectionPoolDataSource)和 TeraDataSource(实现 javax.sql.DataSource)。这让我相信他们没有提供 javax.sql.XADataSource 的实现。

也就是说,在 WebSphere Application Server 中,有可能以某些折衷为代价,让未实现 javax.sql.XADataSource 的数据源与两阶段提交能力资源一起参与全局事务(例如 Oracle XADataSource)。为此,您必须愿意接受这样的可能性:如果在两阶段资源完成准备阶段之后发生中断或其他中断,此时单阶段资源(在本例中为 TeraData)被告知提交/roll back,则事务管理器将不知道一阶段资源的结果,并且在XA恢复期间将无法自动确定结果,因此事务的解决将需要人工干预。此功能通常称为“最后参与者支持”(由于在所有两阶段资源完成准备阶段后将单阶段资源放置为最后一个资源),也称为“接受启发式危险”(由于本响应前面描述的情况存在不确定的结果)。

【讨论】:

    猜你喜欢
    • 2014-10-07
    • 1970-01-01
    • 2023-03-15
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    相关资源
    最近更新 更多