0

JBoss 7.1.1.Final で奇妙な問題が発生しました。

JBoss 5.1 から移行した持続性ユニットを使用して jar をデプロイしようとしています (問題なく動作していました)。

必要な変更を (見つけることができたので) 行いましたが、デプロイ中に役に立たないエラー メッセージが表示されます。

16:19:21,532 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015876: Starting deployment of "DomainModel-0.1.0-SNAPSHOT.jar"
16:19:21,556 INFO  [org.jboss.as.jpa] (MSC service thread 1-1) JBAS011401: Read persistence.xml for admin
16:19:21,561 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-4) JBAS018567: Deployment "deployment.DomainModel-0.1.0-SNAPSHOT.jar" is using a private module ("org.apache.commons.collections:main") which may be changed or removed in future versions without notice.
16:19:21,562 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-4) JBAS018567: Deployment "deployment.DomainModel-0.1.0-SNAPSHOT.jar" is using a private module ("org.apache.commons.lang:main") which may be changed or removed in future versions without notice.
16:19:21,566 INFO  [org.jboss.as.jpa] (MSC service thread 1-1) JBAS011402: Starting Persistence Unit Service 'DomainModel-0.1.0-SNAPSHOT.jar#admin'
16:19:21,566 INFO  [org.hibernate.ejb.Ejb3Configuration] (MSC service thread 1-1) HHH000204: Processing PersistenceUnitInfo [
    name: admin
    ...]
16:19:21,730 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.persistenceunit."DomainModel-0.1.0-SNAPSHOT.jar#admin": org.jboss.msc.service.StartException in service jboss.persistenceunit."DomainModel-0.1.0-SNAPSHOT.jar#admin": 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.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_10]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_10]
    at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_10]
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: admin] 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.AnnotationException: Associated class not found: java.lang.String
    at org.hibernate.cfg.annotations.MapBinder.bindKeyFromAssociationTable(MapBinder.java:136)
    at org.hibernate.cfg.annotations.MapBinder.access$000(MapBinder.java:75)
    at org.hibernate.cfg.annotations.MapBinder$1.secondPass(MapBinder.java:114)
    at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:66)
    at org.hibernate.cfg.Configuration.originalSecondPassCompile(Configuration.java:1586)
    at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1359)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1724)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:84)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:904)
    ... 9 more

16:19:21,941 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 1) JBAS015870: Deploy of deployment "DomainModel-0.1.0-SNAPSHOT.jar" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.persistenceunit.\"DomainModel-0.1.0-SNAPSHOT.jar#admin\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"DomainModel-0.1.0-SNAPSHOT.jar#admin\": Failed to start service"}}
16:19:21,948 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015877: Stopped deployment DomainModel-0.1.0-SNAPSHOT.jar in 6ms
16:19:21,949 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 1) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.persistenceunit."DomainModel-0.1.0-SNAPSHOT.jar#admin": org.jboss.msc.service.StartException in service jboss.persistenceunit."DomainModel-0.1.0-SNAPSHOT.jar#admin": Failed to start service

16:19:21,950 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 2) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.persistenceunit.\"DomainModel-0.1.0-SNAPSHOT.jar#admin\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"DomainModel-0.1.0-SNAPSHOT.jar#admin\": Failed to start service"}}}}

私が抱えている問題は、エラー自体ではありません-おそらく理解できるでしょう。私を悩ませているのは、この問題がどこにあるのか、つまり、どのエンティティにこの問題があるのか​​ を教えてくれないことです。

グーグルで、Maps の ElementCollections に関連する問題を見つけることができました。これらを更新したところ、Longs が見つからないことに変わりました。さらに更新すると、String に戻ります。

問題が発生しているクラスを教えてもらう方法を知っている人はいますか?

ありがとう...

4

2 に答える 2

1

JBoss / Hibernate に問題の原因となっているエンティティを教えてもらう方法がわかりませんでしたが、@CollectionOfElements から @ElementCollection への不適切な移行が原因でこの特定のエラーが発生したことがわかりました。

私は arquillian を使用して、これを使用する各クラスのマイクロ展開を行い (幸いなことに、ほんの一握りしかありませんでした)、問題を修正することができました。

私の場合、@MapKeyColumn に置き換える必要がある @MapKey をそのまま残しました。

于 2013-01-21T09:23:08.017 に答える
0

移行のユーザー ガイドを読んでみてください

アプリケーションを JBoss AS 5 または AS 6 から JBoss AS 7 に移行するにはどうすればよいですか?

于 2013-01-18T03:30:08.873 に答える