无法查找 JNDI 名称 [javax.transaction.TransactionManager]

问题描述 投票:0回答:2

在我的 JavaEE 应用程序中,我有两个 JAR(实体、接口)、一个 EJB(服务)和一个 WAR (Vaadin) 项目。应用服务器是WildFly(JBoss)。部署项目后出现如下错误。在 GlassFish 中一切都很好。

javax.servlet.ServletException:com.vaadin.server.ServiceException:javax.ejb.EJBException:org.hibernate.engine.jndi.JndiException:无法查找JNDI名称[javax.transaction.TransactionManager]

null:javax.naming.NameNotFoundException:project1-ear-1.0.0.0/project1-Services-ejb1.0.0.0/PersonServiceImpl!com.domain.project1.interfaces.PersonService - 服务jboss.naming.context.java。” project1-ear-1.0.0.0"."project1-Services-ejb1.0.0.0"."PersonServiceImpl!com.domain.project1.interfaces.PersonService

我的查找:

java:global/project1-ear-1.0.0.0/project1-Services-ejb-1.0.0.0/PersonServiceImpl!com.domain.project1.interfaces.PersonService

怎么了?感谢您的帮助!

java jboss vaadin wildfly
2个回答
5
投票

由于您要在 Wildfly 上部署它,因此您需要更改 > persistence.xml 中的属性

供应商来自

<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>

<provider>org.hibernate.ejb.HibernatePersistence</provider>

删除 hibernate.transaction.jta.platform 属性

<name="hibernate.transaction.jta.platform" >

<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.SunOneJtaPlatform" />
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.WeblogicJtaPlatform" />

并添加以下内容

<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"/> 

这应该可以解决事务管理器问题。


0
投票

当我尝试创建合作伙伴、将其设置为有效并完成该过程时,出现以下错误。这是一个已知问题吗?

提前致谢!

    org.hibernate.engine.jndi.JndiException: unable to find transaction manager
    at org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform.locateTransactionManager(JBossAppServerJtaPlatform.java:45) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.retrieveTransactionManager(AbstractJtaPlatform.java:87) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.getTransactionManager(AbstractJtaPlatform.java:98) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.transaction.jta.platform.internal.TransactionManagerBasedSynchronizationStrategy.canRegisterSynchronization(TransactionManagerBasedSynchronizationStrategy.java:39) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.transaction.jta.platform.internal.AbstractJtaPlatform.canRegisterSynchronization(AbstractJtaPlatform.java:131) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.pulse(JtaTransactionCoordinatorImpl.java:157) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorImpl.<init>(JtaTransactionCoordinatorImpl.java:93) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.resource.transaction.backend.jta.internal.JtaTransactionCoordinatorBuilderImpl.buildTransactionCoordinator(JtaTransactionCoordinatorBuilderImpl.java:35) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.internal.AbstractSharedSessionContract.<init>(AbstractSharedSessionContract.java:232) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.internal.AbstractSessionImpl.<init>(AbstractSessionImpl.java:29) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.internal.SessionImpl.<init>(SessionImpl.java:230) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.internal.SessionFactoryImpl$SessionBuilderImpl.openSession(SessionFactoryImpl.java:1334) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.internal.SessionFactoryImpl.buildEntityManager(SessionFactoryImpl.java:651) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:637) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.internal.SessionFactoryImpl.createEntityManager(SessionFactoryImpl.java:158) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.invokeProxyMethod(AbstractEntityManagerFactoryBean.java:519) ~[spring-orm-5.3.30.jar:5.3.30]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:734) ~[spring-orm-5.3.30.jar:5.3.30]
    at com.sun.proxy.$Proxy92.createEntityManager(Unknown Source) ~[?:?]
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.doGetTransactionalEntityManager(EntityManagerFactoryUtils.java:267) ~[spring-orm-5.3.30.jar:5.3.30]
    at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:270) ~[spring-orm-5.3.30.jar:5.3.30]
    at com.sun.proxy.$Proxy542.createQuery(Unknown Source) ~[?:?]
    at de.innovas.jbit.persistence.querybuilding.next.UniversalCriteriaHistQueryBuilder.makeUnmappedHistQuery(UniversalCriteriaHistQueryBuilder.java:2280) ~[jbit-persistence-4.1.0.jar:4.1.0]
    at de.innovas.jbit.persistence.layer.technical.LowLevelSimpleDAO.read(LowLevelSimpleDAO.java:59) ~[jbit-persistence-4.1.0.jar:4.1.0]
    at de.innovas.jbit.persistence.layer.mediator.AbstractSimpleMediator.readWithTickInfo(AbstractSimpleMediator.java:141) ~[jbit-persistence-4.1.0.jar:4.1.0]
    at de.innovas.jbit.persistence.layer.mediator.AbstractSimpleMediator.read(AbstractSimpleMediator.java:72) ~[jbit-persistence-4.1.0.jar:4.1.0]
    at de.innovas.jbit.persistence.layer.business.SimpleDAO.read(SimpleDAO.java:38) ~[jbit-persistence-4.1.0.jar:4.1.0]
    at de.innovas.jbit.infrastructure.services.LtxCommittableHandlerImpl.readLtxCommitablesFor(LtxCommittableHandlerImpl.java:244) ~[jbit-infrastructure-ltx-4.1.0.jar:4.1.0]
    at de.innovas.jbit.infrastructure.services.LtxCommittableHandlerImpl.commit(LtxCommittableHandlerImpl.java:43) ~[jbit-infrastructure-ltx-4.1.0.jar:4.1.0]
    at de.innovas.iaf.jbit_persistence_adapter.ltx.JBIT7LtxListener.commit(JBIT7LtxListener.java:60) ~[jbit_persistence-adapter-23.6.14.jar:?]
    at de.innovas.iaf.infra_server.services.LtxListenerImpl.commit(LtxListenerImpl.java:113) ~[infra_server-23.6.14.jar:?]
    at de.innovas.iaf.infra_server.ltx.LtxParticipantsServant.notifyCommit(LtxParticipantsServant.java:75) ~[infra_server-23.6.14.jar:?]
    at de.innovas.iaf.infra_server.ltx.LtxKernel.completeCommit(LtxKernel.java:95) ~[infra_server-23.6.14.jar:?]
    at de.innovas.iaf.infra_server.services.LtxManagerImpl.performRegularCommit(LtxManagerImpl.java:403) ~[infra_server-23.6.14.jar:?]
    at de.innovas.iaf.infra_server.services.LtxManagerImpl.coordinateCommitProcessing(LtxManagerImpl.java:393) ~[infra_server-23.6.14.jar:?]
    at de.innovas.iaf.infra_server.services.LtxManagerImpl.commit(LtxManagerImpl.java:341) ~[infra_server-23.6.14.jar:?]
    at de.innovas.iaf.infra_server.gen.services.proxy.LtxManager_Proxy.commit(LtxManager_Proxy.java:250) ~[infra_server-public-23.6.14.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.30.jar:5.3.30]
    at com.sun.proxy.$Proxy99.commit(Unknown Source) ~[?:?]
    at de.innovas.iaf.partners_outbounds_to_infra.impl.PartnersInfraOutboundImpl.commit(PartnersInfraOutboundImpl.java:145) ~[partners_outbounds_to_infra-23.2-SNAPSHOT.jar:?]
    at de.innovas.iaf.partners_server.gen.services.proxy.PartnersInfraOutbound_Proxy.commit(PartnersInfraOutbound_Proxy.java:228) ~[partners_server-public-23.2-SNAPSHOT.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.30.jar:5.3.30]
    at com.sun.proxy.$Proxy204.commit(Unknown Source) ~[?:?]
    at de.innovas.iaf.partners_server.services.PartnersProcessServiceImpl.finishProcess(PartnersProcessServiceImpl.java:170) ~[partners_server-23.2-SNAPSHOT.jar:?]
    at de.innovas.iaf.partners_server.gen.services.proxy.PartnersProcessService_Proxy.finishProcess(PartnersProcessService_Proxy.java:55) ~[partners_server-public-23.2-SNAPSHOT.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.30.jar:5.3.30]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241) ~[spring-aop-5.3.30.jar:5.3.30]
    at com.sun.proxy.$Proxy247.finishProcess(Unknown Source) ~[?:?]
    at de.innovas.iaf.partners_server.gen.services.rmi.PartnersProcessService_RMI_Service$Adapter.finishProcess(PartnersProcessService_RMI_Service.java:90) ~[partners_server-rmi-23.2-SNAPSHOT.jar:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?]
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
    at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) ~[?:?]
    at sun.rmi.transport.Transport$1.run(Transport.java:200) ~[?:?]
    at sun.rmi.transport.Transport$1.run(Transport.java:197) ~[?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196) ~[?:?]
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) ~[?:?]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) ~[?:?]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) ~[?:?]
    at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?]
    at java.lang.Thread.run(Thread.java:829) ~[?:?]
Caused by: org.hibernate.engine.jndi.JndiException: Error parsing JNDI name [java:jboss/TransactionManager]
    at org.hibernate.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:136) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:97) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform.locateTransactionManager(JBossAppServerJtaPlatform.java:38) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    ... 100 more
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or in an application resource file: java.naming.factory.initial
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:702) ~[?:?]
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:305) ~[?:?]
    at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:342) ~[?:?]
    at javax.naming.InitialContext.getNameParser(InitialContext.java:497) ~[?:?]
    at org.hibernate.engine.jndi.internal.JndiServiceImpl.parseName(JndiServiceImpl.java:130) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:97) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    at org.hibernate.engine.transaction.jta.platform.internal.JBossAppServerJtaPlatform.locateTransactionManager(JBossAppServerJtaPlatform.java:38) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final]
    ... 100 more
© www.soinside.com 2019 - 2024. All rights reserved.