簡體   English   中英

無法查找JNDI名稱[javax.transaction.TransactionManager]

[英]Unable to lookup JNDI name [javax.transaction.TransactionManager]

在我的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 - service jboss.naming.context.java。“project1 -ear-1.0.0.0" 。 “PROJECT1 - 服務 - ejb1.0.0.0”。“PersonServiceImpl!com.domain.project1.interfaces.PersonService

我的查找:

Java的:全球/ PROJECT1耳-1.0.0.0 / PROJECT1-服務的EJB-1.0.0.0 / PersonServiceImpl com.domain.project1.interfaces.PersonService

怎么了? 感謝幫助!

由於您要在wildfly上部署它,因此需要更改> persistence.xml中的屬性

提供者FROM

<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"/> 

應解決事務管理器問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM