Rad*_*v.B 3 java jboss vaadin wildfly
在我的 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
怎么了?感谢帮助!
小智 5
由于您要在 Wildfly 上部署它,因此您需要更改 > persistence.xml 中的属性
供应商来自
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
Run Code Online (Sandbox Code Playgroud)
到
<provider>org.hibernate.ejb.HibernatePersistence</provider>
Run Code Online (Sandbox Code Playgroud)
删除 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" />
Run Code Online (Sandbox Code Playgroud)
并添加以下内容
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"/>
Run Code Online (Sandbox Code Playgroud)
这应该可以解决事务管理器问题。
| 归档时间: |
|
| 查看次数: |
8751 次 |
| 最近记录: |