2013-01-25 56 views
2

多个持久化单元的名称,我升级JBoss服务器4.1.2到JBoss 7.1.1因此让例外是如何创建JBoss7.1.1.Final

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:init debug="false" jndi-pattern="@[email protected]" transaction-management- enabled="true"/> 
<core:manager concurrent-request-timeout="2000" 
    conversation-id-parameter="cid" conversation-timeout="120000" 

<web:hot-deploy-filter url-pattern="/*.mobee" /> 


<persistence:entity-manager-factory 
    installed="@[email protected]" name="entityManagerFactory" 
    persistence-unit-name="pu1" /> 
<persistence:managed-persistence-context 
    auto-create="true" entity-manager-factory="@[email protected]" name="entityManager" 
    persistence-unit-jndi-name="@[email protected]" /> 

<persistence:entity-manager-factory name="empEntityManagerFactory" 
        persistence-unit-name="pu2"/> 

    <persistence:managed-persistence-context name="empEntityManager" 
    auto-create="true" entity-manager-factory="#{empEntityManagerFactory}" 
    persistence-unit-jndi-name="java:/pu2Database"/> 




<async:quartz-dispatcher /> 


<security:identity authenticate-method="#{authenticator.authenticate}" /> 


<web:rewrite-filter view-mapping="*.mobee" /> 

<event type="org.jboss.seam.security.notLoggedIn"> 
    <action execute="#{redirect.captureCurrentView}" /> 
</event> 

<event type="org.jboss.seam.security.loginSuccessful"> 
    <action execute="#{redirect.returnToCapturedView}" /> 
</event> 
<mail:mail-session host="localhost" port="25" /> 

的persistence.xml

<persistence-unit name="pu1" transaction-type="JTA"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <jta-data-source>java:/sample1</jta-data-source> 

     <mapping-file>META-INF/orm.xml</mapping-file> 


     <exclude-unlisted-classes>true</exclude-unlisted-classes> 
     <properties> 


      <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" /> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
      <property name="hibernate.jdbc.batch_size" value="20" /> 
      <property name="hibernate.cache.use_second_level_cache" 
       value="false" /> 
      <property name="hibernate.show_sql" value="false" /> 


      <property name="hibernate.transaction.manager_lookup_class" 
       value="@[email protected]" /> 

      <property name="jboss.entity.manager.factory.jndi.name" value="@[email protected] "/> 
     </properties> 
    </persistence-unit> 

    <persistence-unit name="pu2" transaction-type="JTA"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <jta-data-source>java:/sample2</jta-data-source> 

     <mapping-file>META-INF/emp2Orm.xml</mapping-file> 


     <exclude-unlisted-classes>true</exclude-unlisted-classes> 
     <properties> 


      <property name="hibernate.dialect" value="org.hibernate.dialect.OracleDialect" /> 
      <property name="hibernate.hbm2ddl.auto" value="update" /> 
      <property name="hibernate.jdbc.batch_size" value="20" /> 
      <property name="hibernate.cache.use_second_level_cache" 
       value="false" /> 
      <property name="hibernate.show_sql" value="false" /> 


       <property name="hibernate.transaction.manager_lookup_class" 
       value="org.hibernate.transaction.JBossTransactionManagerLookup" /> 


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



     </properties> 
    </persistence-unit> 
+0

我也跟着在http答案。: //stackoverflow.com/a/23299991/4635485并解决了问题。:) –

回答

10

我在做同样的。我正在将我的Spring应用程序迁移到Jboss 8(WildFly)。我得到了同样的错误。 Google搜索几个小时后,终于找到了解决方案。

转到\\ standalone \ configuration。

打开standalone.xml。并寻找

子系统的xmlns =“金塔:JBoss的:域名:JPA:1.1

评论该标签,然后重新启动服务器现在应该工作 enter image description here