【问题标题】:Error deploying Seam 2.2 app on JBoss 7.1在 JBoss 7.1 上部署 Seam 2.2 应用程序时出错
【发布时间】:2012-03-23 02:51:17
【问题描述】:

我一直在尝试在 JBoss 7.1 上部署我的 JBoss Seam 2.2 应用程序。我从my previous post 收到了一些很棒的建议和资源,但现在我遇到了一些错误。我的应用程序使用 Hibernate/JPA 1.0 和 Hibernate Search 来实现持久性。在包含我的 JPA 实体的 EAR 中部署 JAR 时,我看到以下异常:

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 版本。

【问题讨论】:

  • 你在EAR/lib中有对应的hibernate jars吗?
  • 是的。我从 Seam 发行版中复制了它们。

标签: hibernate jboss seam jboss7.x hibernate-search


【解决方案1】:

好的,我已经解决了这个问题。显然,Seam 2.2 附带的 Hibernate、Hibernate Search 和 Lucene 版本存在一个已知问题。然而,由于 JBoss 7.x 中新的类加载特性,升级它们很容易。我加入了 Hibernate 3.6.10 和相应的 Hibernate Search 和 Lucene 库,它或多或少地工作了。我必须对配置进行一些小的调整,但这些都记录在 JBoss 7.1 JPA 指南中。

【讨论】:

  • Seam 2.3 将与 Hibernate ORM 4.1(包括在 JBoss AS 7.1.2 中)和最新的 Hibernate Search 版本兼容。
  • 您能否列出您使用的 Hibernate Search 和 Lucene 的确切版本,以便我们这些陷入试图在 JB7 上运行 Seam 2 的“dll 地狱”中的人?谢谢!!
猜你喜欢
  • 1970-01-01
  • 2012-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
  • 2011-07-25
相关资源
最近更新 更多