我已使用下面的方法为MySQL数据库配置了用户定义的数据源。
提供商中的实施类:
com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
但是,对于MySQL数据源的MySQL和Oracle数据源操作的JTA事务,我得到以下异常。
E WTRN0063E:非法尝试提交一个相位的能力 已经发生了具有两阶段资源的资源。
根据文档,MySQL支持XA事务,我的驱动程序正在实现XADatasource。
你能否证实我错过了什么? 可能是数据源配置,它不是两阶段的事务资源吗?
我还使用ENGINE=INNODB
创建MySQL表。
答案 0 :(得分:1)
听起来您需要在WebSphere端将数据源配置为支持XA。默认情况下,WAS数据源不会实现javax.sql.XADataSource。
请参阅此WAS 8.5文档链接(第8.e节)以验证您的配置是否正在使用XA数据源:
http://www-01.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.base.doc/ae/tdat_ccrtpds.html?cp=SSEQTP_8.5.5%2F1-3-0-23-3-0-7-1