实体管理器工厂JBoss EAP 6.3的NamenotFoundException

时间:2016-01-21 18:52:44

标签: java hibernate jboss jboss-eap-6 seam2

我使用的是Seam 2.2,Hibernate 4和JBOSS EAP 6.3。我收到了以下错误,

Caused by: javax.naming.NameNotFoundException: AmasterEntityManagerFactory -- service jboss.naming.context.java.jboss.AmasterEntityManagerFactory
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:103)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:197)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:174)
at org.jboss.as.naming.InitialContext$DefaultInitialContext.lookup(InitialContext.java:243)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:183)
at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:179)
at javax.naming.InitialContext.lookup(InitialContext.java:411) [rt.jar:1.7.0_11]
at javax.naming.InitialContext.lookup(InitialContext.java:411) [rt.jar:1.7.0_11]
at org.jboss.seam.persistence.ManagedPersistenceContext.getEntityManagerFactoryFromJndiOrValueBinding(ManagedPersistenceContext.java:241) [jboss-seam-2.2.0.GA.jar:2.2.0.GA]
... 168 more

在我的 persistence.xml

<property name="jboss.entity.manager.factory.jndi.name" value="java:jboss/AmasterEntityManagerFactory"/>

components.xml

<persistence:managed-persistence-context  name="entityManager"
                                 auto-create="true"
                  persistence-unit-jndi-name="java:jboss/AmasterEntityManagerFactory"/>

之前有人遇到过这个问题吗?请提供您的建议。

2 个答案:

答案 0 :(得分:1)

我已经解决了这个问题。

我在持久性中添加了persistence-unit-name而不是persistence-unit-jndi-name属性:entity-manager-factory 而不是persistence-unit-jndi-name属性添加了entity-manager-factory =“#{entityManagerFactory}”

<persistence:entity-manager-factory name="entityManagerFactory" persistence-unit-name="AccountMaster"/>  
<persistence:managed-persistence-context  name="entityManager"
                                 auto-create="true" entity-manager-factory="#{entityManagerFactory}"/>                                    

答案 1 :(得分:0)

Seam 2.2仅与hibernate 3兼容(我认为3.6)。 根据{{​​3}} Seam 2.3应该与hibernate 4兼容。

在我们的公司环境中,我们有大约10个接缝应用程序,它们也使用接缝持久性集成,并希望在JBoss EAP 6上使用它们。经过数周的迁移并遇到很多问题,我们决定摆脱seam并将应用程序迁移到JSF。