如何在JBoss7.1.1.Final中创建多个持久性单元名称

我正在将jboss服务器4.1.2升级到jboss 7.1.1,因此获得exception是

15:51:24,655 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."mobeeadmin.war".DEPENDENCIES: org.jboss.msc.service.StartException in service jboss.deployment.unit."mobeeadmin.war".DEPENDENCIES: Failed to process phase DEPENDENCIES of deployment "mobeeadmin.war" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] 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] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_37] at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_37] Caused by: java.lang.IllegalArgumentException: JBAS011470: Persistence unitName was not specified and there are 3 persistence unit definitions in application deployment "mobeeadmin.war". Either change the application to have only one persistence unit definition or specify the unitName for each reference to a persistence unit. at org.jboss.as.jpa.container.PersistenceUnitSearch.resolvePersistenceUnitSupplier(PersistenceUnitSearch.java:69) at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.getPersistenceUnit(JPAAnnotationParseProcessor.java:284) at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.getBindingSource(JPAAnnotationParseProcessor.java:220) at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.processField(JPAAnnotationParseProcessor.java:151) at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.processPersistenceAnnotations(JPAAnnotationParseProcessor.java:118) at org.jboss.as.jpa.processor.JPAAnnotationParseProcessor.deploy(JPAAnnotationParseProcessor.java:90) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final] ... 5 more 

应用环境是seam2.1.2与jpa,richfaces和jsf集成。 我如何在jboss 7.1.1中声明多个持久性单元。

我的components.xml

  <core:manager concurrent-request-timeout="2000" conversation-id-parameter="cid" conversation-timeout="120000"                

persistence.xml中

  org.hibernate.ejb.HibernatePersistence java:/sample1 META-INF/orm.xml true            org.hibernate.ejb.HibernatePersistence java:/sample2 META-INF/emp2Orm.xml true           

我也这样做。 我正在将我的弹簧应用程序移动到Jboss 8(WildFly)。 我得到了同样的错误。 谷歌搜索几个小时后,终于找到了解决方案。

转到\\ standalone \ configuration。

打开standalone.xml。 并寻找

子系统xmlns =“urn:jboss:domain:jpa:1.1

注释标记,然后重新启动服务器。 它现在应该工作。 在此处输入图像描述

我将会通过JBoss注入实体管理器来绕过Seam注入机制。

它似乎让缝线2在JBoss 7上工作,你需要做一些改变

我发现另一个似乎要求JBoss不关心JPA

另一种解决方案是升级到Seam 3。