Transactions 如果在单个事务中使用多个数据源,是否需要使用XADatasource?

Transactions 如果在单个事务中使用多个数据源,是否需要使用XADatasource?,transactions,datasource,wildfly,Transactions,Datasource,Wildfly,我有多个数据源指向同一MySQL数据库服务器上的不同模式。据我所知,当您有多个Web服务器时,通常会使用分布式事务,因此您可以在需要时回滚任何更改,但在这种情况下,如果是同一个数据库服务器和不同的模式,是否有必要使用XADataSources 当我试图在一个事务中使用多个数据源时,我遇到了如下错误: ARJUNA012140: Adding multiple last resources is disallowed. Trying to add LastResourceRecord(XA

我有多个数据源指向同一MySQL数据库服务器上的不同模式。据我所知,当您有多个Web服务器时,通常会使用分布式事务,因此您可以在需要时回滚任何更改,但在这种情况下,如果是同一个数据库服务器和不同的模式,是否有必要使用XADataSources

当我试图在一个事务中使用多个数据源时,我遇到了如下错误:

ARJUNA012140: Adding multiple last resources is disallowed. Trying to add     LastResourceRecord(XAOnePhaseResource)
通过将以下内容添加到standalone.xml,我成功地解决了此问题:

 <system-properties>
      <property name="com.arjuna.ats.arjuna.allowMultipleLastResources" value="true"/>
 </system-properties>

但后来我得到了这个警告:

10:25:02,243 WARN  [com.arjuna.ats.arjuna] (Batch Thread - 3) ARJUNA012141: Multiple last resources have been added to the current transaction. This is transactionally unsafe and should not be relied upon. 
Current resource is LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl@7e0cda5c[connectionListener=da06ed8 connectionManager=76f8e0c5 warned=false currentXid=< formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffc0a800de:5a5b164e:5878fd9f:10c, node_name=1, branch_uid=0:ffffc0a800de:5a5b164e:5878fd9f:10e, subordinatenodename=null, eis_name=java:jboss/SomeDataJNDI> productName=MySQL productVersion=10.1.18-MariaDB jndiName=java:jboss/SomeDataJNDI]))
10:25:02243警告[com.arjuna.ats.arjuna](批处理线程-3)arjuna01241:已将多个最后的资源添加到当前事务中。这在交易上是不安全的,不应依赖。
当前资源为LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl@7e0cda5c[connectionListener=da06ed8 connectionManager=76f8e0c5 warned=false currentXid=productName=MySQL产品版本=10.1.18-ADBndiName=java:jboss/SomeDataJNDI]))
所以现在我想知道我是否应该在一个事务中使用多个非XA数据源。如果我不需要它们,我希望避免使用XADataSource