![](/img/trans.png)
[英]Quarkus Hibernate No bean found for required type [interface javax.transaction.TransactionManager] and qualifiers [[]]
[英]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.