Social Icons

.

четверг, 22 июля 2010 г.

MultyConnectToDatabase: соединение с несколькими базами данных из JBoss

При использовании JBoss возникает проблема при наличии более одного подключения к базе данных. Проблема мне не понятна до конца, по-этому пока, чисто «дикарско описательное» решение проблемы. Итак …

  1. На JBoss крутится бин, который работает более чем с одной базой данных.
  2. По JNDI именам оба источника находятся правильно.
  3. Однако, при попытке открыть соединение по второму источнику в логах читаем надпись:

18:15:10,679 WARN loggerI18N com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow com.arjuna.ats.internal.jta.transaction.arjunacore.lastResource.disallow
Adding multiple last resources is disallowed. Current resource is org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@7587b2

18:15:10,679 ERROR InfoDatabase Не смогли открыть соединение: 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: -53e9c71a:f56:48da4b54:36 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: -53e9c71a:f56:48da4b54:36 status: ActionStatus?.ABORT_ONLY >))

18:15:10,679 ERROR InfoDatabase Ошибка исполнения метода:null
Ключевой в логах является надпись: Adding multiple last resources is disallowed. Current resource is

Лечение проблемы.

В файл конфигурации JBoss, расположенному по пути …\server\default\conf\jbossjta-properties.xml, вставляется дополнительный ключ, позволяющий подобные действия. jbossjta-properties.xml
<properties depends="arjuna" name="jta">
   <!--
       WhiteWoolf addition: com.arjuna.ats.jta.allowMultipleLastResources
   -->
   <property name="com.arjuna.ats.jta.allowMultipleLastResources" value="true"/>
</properties>

Комментариев нет:

Отправить комментарий

 

Так говорил Учитель:

У хорошо написанной программы есть свой собственный рай, у плохо написанной — свой собственный ад.

Russian Developer

Взгляд его светел, усилия праведны, старания бесплодны, дело безнадежно ...