我们为什么要定义" xa-datasource-class"在JBoss的驱动程序配置中?

时间:2014-12-13 07:27:33

标签: java jboss

我正在使用JBoss7AS并拥有以下数据源驱动程序定义:

<drivers>
  <driver name="com.mysql" module="com.mysql">
    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
  </driver>
</drivers>

xa-datasource-class子标签让我有点担心。它是否与事务有关(例如JTA事务,因为它们使用某种XA - 接口)?因此,如果我们删除该子标签,我们将无法在我们的应用程序中使用JTA-transaction,对吧?

1 个答案:

答案 0 :(得分:2)

是的,JTA需要XA来协调分布式事务。

XA是指X/Open XA标准,它是一种分布式事务协议,允许ACID事务跨越多个符合XA的资源(这可以包括跨不同RDBMS供应商的多个数据库的事务,队列,事务文件系统等)。

具体来说,对于配置设置,来自the docs

  

xa-datasource-class:javax.sql.XADataSource实现类的完全限定名,例如com.informix.jdbcx.IfxXADataSource。