JNDI 查找失败



如果有人能帮助我纠正代码中的问题,我将不胜感激。不知道我哪里出错了。

目前我的坚持.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.BeanCreation异常:创建在类路径资源 [###XMLConfig.xml] 中定义了名称"transactionManager"的 Bean 时出错:初始化方法的调用失败;嵌套异常是 org.springframework.transaction.TransactionSystemException:JTA TransactionManager 在 JNDI 位置 [java:comp/env/TransactionManager] 不可用;嵌套异常是 org.springframework.jndi.TypeMismatchNamemingException:类型 [class com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple] available at JNDI location [java:comp/env/TransactionManager] not assignable to [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]

at org.springframework.transaction.jta.JtaTransactionManager.lookupTransactionManager(JtaTransactionManager.java:598(

原因:org.springframework.jndi.TypeMismatchNamingException: type [class com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple] 在 JNDI location [java:comp/env/TransactionManager] 不可用分配给 [javax.transaction.TransactionManager] at org.springframework.jndi.JndiTemplate.lookup(( at org.springframework.transaction.jta.JtaTransactionManager.lookupTransactionManager((

看起来项目的类路径存在一些问题。检查项目中是否存在同一依赖项的两个版本。就我而言,我在类路径中有多个版本的 jboss-transaction jar,只保留它的一个版本为我解决了这个问题。检查是否有任何导致此问题的传递依赖项,您可以在 maven pom 中排除这些问题。

最新更新