2012-03-23 98 views
0

我一直在試圖在JBoss 7.1上部署JBoss Seam 2.2應用。我從my previous post收到了一些很好的建議和資源,但現在我遇到了一些錯誤。我的應用程序和Hibernate Search一起使用Hibernate/JPA 1.0來進行持久化。當它得到部署在包含我的JPA實體EAR的JAR,我看到以下異常:在JBoss 7.1上部署Seam 2.2應用時出錯

ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.persistenceunit."MyApp-ear.ear/MyApp-entities.jar#MyApp": org.jboss.msc.service.StartException in service jboss.persistenceunit."MyApp-ear.ear/MyApp-entities.jar#MyApp": Failed to start service 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_29] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_29] 
    at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_29] 
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: MyApp] Unable to build EntityManagerFactory 
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914) 
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:889) 
    at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73) 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:162) 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.start(PersistenceUnitServiceImpl.java:85) 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] 
    ... 3 more 
Caused by: org.hibernate.event.service.spi.EventListenerRegistrationException: Listener did not implement expected interface [org.hibernate.event.spi.PostUpdateEventListener] 
    at org.hibernate.event.service.internal.EventListenerGroupImpl.checkAgainstBaseInterface(EventListenerGroupImpl.java:168) 
    at org.hibernate.event.service.internal.EventListenerGroupImpl.internalAppend(EventListenerGroupImpl.java:175) 
    at org.hibernate.event.service.internal.EventListenerGroupImpl.appendListener(EventListenerGroupImpl.java:109) 
    at org.hibernate.ejb.event.JpaIntegrator.integrate(JpaIntegrator.java:137) 
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:294) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1737) 
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84) 
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904) 

我沒有看到變化的任何提及,我需要做支持JPA 1.0的資源在我以前的問題中提供給我。有沒有人有任何想法是什麼導致這個錯誤?這是由於我使用Hibernate Search嗎?

編輯:我應該提到我使用的Hibernate版本是與Seam 2.2捆綁在一起的版本。它是版本3.3.1。

+0

你在EAR/lib中有相應的hibernate jar嗎? – kosa 2012-03-23 19:59:54

+0

是的。我從Seam發行版複製它們。 – Shadowman 2012-03-24 01:17:22

回答

0

好的,我已經解決了這個問題。顯然,Seam 2.2附帶的Hibernate,Hibernate Search和Lucene版本存在已知問題。但是,由於JBoss 7.x中的新類加載功能,很容易升級它們。我放棄了Hibernate 3.6.10和相應的Hibernate Search和Lucene庫,它或多或少的工作。我不得不對配置做一些小的調整,但是這些調整在JBoss 7.1 JPA指南中有記錄。

+2

Seam 2.3將與Hibernate ORM 4.1(包含在JBoss AS 7.1.2中)和最新的Hibernate Search版本兼容。 – Sanne 2012-03-31 16:26:10

+0

您能否列出您使用的Hibernate Search和Lucene的確切版本,對於我們在試圖在JB7上運行Seam 2的「dll hell」中遇到的那些人?謝謝!! – idarwin 2013-05-05 01:10:33

+0

使用Seam 2.3。它在JBoss AS 7上運行得更好。 – Shadowman 2013-05-05 13:58:02

相關問題