Ошибка поиска JNDI - PullRequest
       25

Ошибка поиска JNDI

0 голосов
/ 14 октября 2018

Буду признателен, если кто-нибудь поможет мне исправить проблему в моем коде.Не знаю, где я ошибаюсь.

В настоящее время мой файл persistence.xml содержит

  <property name="hibernate.transaction.manager_lookup_class" value="#####.hibernate.JbossTSTransactionManagerLookup"/>

  <property name="hibernate.current_session_context_class" value="jta"/>

вместе с

 <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">

    <property name="persistenceUnitName" value="####"/>

    <property name="jpaDialect" ref="jpaDialect"/>

</bean>

<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">

    <property name="transactionManagerName" value="java:comp/env/TransactionManager"/>

</bean>

<tx:annotation-driven transaction-manager="transactionManager" />

Сбой инициализации контекста: org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонента с именемactionManager, определенным в ресурсе пути к классу [### XMLConfig.xml]: сбой вызова метода init;вложенным исключением является org.springframework.transaction.TransactionSystemException: JTA TransactionManager недоступен в расположении JNDI [java: comp / env / TransactionManager];вложенным исключением является org.springframework.jndi.TypeMismatchNamingException: объект типа [class com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple], доступный в расположении JNDI [java: comp / env / TransactionManager] не назначается дляjavax.transaction.TransactionManager]

Причина: org.springframework.transaction.TransactionSystemException: JTA TransactionManager недоступен в расположении JNDI [java: comp / env / TransactionManager];вложенным исключением является org.springframework.jndi.TypeMismatchNamingException: объект типа [class com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple], доступный в расположении JNDI [java: comp / env / TransactionManager] не назначается дляjavax.transaction.TransactionManager]

в org.springframework.transaction.jta.JtaTransactionManager.lookupTransactionManager (JtaTransactionManager.java:598)

Вызывается: org.springframejТип [class com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple], доступный в расположении JNDI [java: comp / env / TransactionManager], нельзя назначить для [javax.transaction.TransactionManager] в org.springframework.jndi.JndiTemplate.lookup () в org.springframework.transaction.jta.JtaTransactionManager.lookupTransactionManager ()

1 Ответ

0 голосов
/ 17 октября 2018

Похоже, что есть некоторая проблема с classpath вашего проекта.Проверьте, есть ли в вашем проекте две версии одной и той же зависимости.В моем случае в пути к классам у меня было несколько версий jar-транзакции jar, и только одна ее версия устранила проблему для меня.Проверьте, есть ли какая-либо транзитивная зависимость, которая вызывает эту проблему, которую вы можете исключить в своем maven pom.

...