Sunday 15 June 2014

ATG 10.2 BCC transaction issue

While setting up the CRS (ATG 10.2, MySQL and JBoss 5.1), I have faced few issues.Here I am sharing the solution of one of them.The execution of initial (first) deployement on BCC failed due to below exception.

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: 7f000001:c41a:5395f5cb:a16b 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, BasicAction: 7f000001:c41a:5395f5cb:a16b status: ActionStatus.ABORT_ONLY >)) at atg.adapter.gsa.GSAItemDescriptor.getPersistentItem(GSAItemDescriptor.java:5549) at atg.adapter.gsa.GSAItemDescriptor.getOrWaitForPersistentItem(GSAItemDescriptor.java:5053) at atg.adapter.gsa.GSAItemDescriptor.getItem(GSAItemDescriptor.java:3275) at atg.adapter.gsa.GSARepository.getItem(GSARepository.java:353) at atg.deployment.repository.ReferenceItemGenerator.findReferenceItemInRepository(ReferenceItemGenerator.java:699) at ........................................

The soltion to this issue is to update jboss connection datasource file (atg-ds.xml) for xa-datasource (replace local-tx-datasource with xa-datasource).Update the other elements of the file accordingly.

Below is the sample connection detail.

<xa-datasource>
<jndi-name>ATGProductionDS</jndi-name>
<xa-datasource-property name="URL">
                       jdbc:mysql://localhost:3306/Production
        </xa-datasource-property>
<xa-datasource-class>
                       com.mysql.jdbc.jdbc2.optional.MysqlXADataSource
        </xa-datasource-class>
<xa-datasource-property name="User">CRS_Production</xa-datasource-property>
<xa-datasource-property name="Password">CRS_Production</xa-datasource-property>
<min-pool-size>5</min-pool-size>
        <!-- The maximum connections in a pool/sub-pool -->
       <max-pool-size>300</max-pool-size>
  <!-- To avoid deadlocks you need set this -->
  <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
</xa-datasource>

No comments:

Post a Comment