jboss 由于SQLException,无法连接到数据源

rsaldnfx  于 2023-10-20  发布在  其他
关注(0)|答案(3)|浏览(158)

ATG 10.2中,在JBOSS上运行Motorprise应用程序和使用MySQLServer时遇到一些问题。

Unable to connect to data source because of SQLException: Could not enlist in transaction on entering meta-aware object!;
CONTAINER:atg.repository.RepositoryException; SOURCE:org.jboss.util.NestedSQLException:     Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicAction: a618a4b:d503:525e
689c:1db status: ActionStatus.ABORT_ONLY >); - nested throwable: (org.jboss.resource.JBossResourceException: Could not enlist in transaction on entering meta-aware object!; - nested throwable: (javax.transaction.SystemException: java.lang.Throwable: Unabled to enlist resource, see the previous warnings. tx=TransactionImple < ac, BasicActi
on: a618a4b:d503:525e689c:1db status: ActionStatus.ABORT_ONLY >))
    at atg.adapter.gsa.GSAItemDescriptor.executeQuery(GSAItemDescriptor.java:8347)
v1uwarro

v1uwarro1#

JBoss默认采用XA驱动程序,不支持在同一事务中调用多个非XA资源。要在JBoss中启用多个非XA资源,请将属性com.arjuna.ats.jta.allowMultipleLastResources添加到jbossjta-properties.xml文件的<property depends="arjuna" name="jta">标记下:

<property depends="arjuna" name="jta">
  <property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true"/>

您可能仍会在日志文件中看到警告,但ATG应用程序将正常运行。要取消显示这些警告,请将以下内容添加到jboss-log4j.xml文件中:

<category name="com.arjuna.atg.jta.logging">
  <priority value="ERROR"/>
</category>

这是在ATG 9.3的情况下,我假设仍然适用。另一个快速参考原因是here

4szc88ey

4szc88ey2#

我也要面对同样的问题。通过修改我的server\ATGPublishing\conf\jbossts-properties.xml文件解决了这个问题。

<properties depends="arjuna" name="jta">
<!--  SNIPPED FOR BREVITY -->
<property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true" />
</properties>

礼貌:http://branchbird.com/blog/the-atg-endeca-integration-part-2-loading-your-mdex/

eulz3vhy

eulz3vhy3#

在我的例子中,它是来自ejb transaction的ejb transaction,但它们是由ejb容器引导的。我不能更改allowMultipleLastResources,因此我直接调优了第二个ejb事务。它解决了问题。
因此,ejb-jar.xml中的第二个ejb设置Bean。

相关问题