Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JBoss AS7中的ear中部署Hibernate jar失败_Hibernate_Deployment_Ejb_Jboss7.x_Ear - Fatal编程技术网

在JBoss AS7中的ear中部署Hibernate jar失败

在JBoss AS7中的ear中部署Hibernate jar失败,hibernate,deployment,ejb,jboss7.x,ear,Hibernate,Deployment,Ejb,Jboss7.x,Ear,我有一个ear,它只包含两个模块:一个包含Hibernate逻辑的jar(名为corbeilegestionHibernate.jar)和一个EJB jar(名为corbeilegestionejbimpl.jar) 这个错误显然意味着Hibernate jar没有在EJB jar之前加载 我试图通过在jboss-deployment-structure.xml中添加一个依赖项来“强制”部署,如下所示 <sub-deployment name="CorbeilleGestionEJBImp

我有一个ear,它只包含两个模块:一个包含Hibernate逻辑的jar(名为corbeilegestionHibernate.jar)和一个EJB jar(名为corbeilegestionejbimpl.jar)

这个错误显然意味着Hibernate jar没有在EJB jar之前加载

我试图通过在jboss-deployment-structure.xml中添加一个依赖项来“强制”部署,如下所示

<sub-deployment name="CorbeilleGestionEJBImpl.jar">
    <dependencies>
        <module name="deployment.CorbeilleGestionEAR.ear.CorbeilleGestionHibernate.jar"  />
        <module name="org.jboss.as.webservices.server.integration" />
    </dependencies>
</sub-deployment>
这些注入是JNDI查找失败的原因


如果您需要任何进一步的信息来完全理解问题,请询问我。

您是否介意澄清您尝试加载的JNDI名称?根据您的描述,问题可能不在加载顺序上,而是在JNDI的错误上下文中。另外,是否还可以提供一些日志,特别是针对已部署的部分?我们尝试加载的JNDI名称是“CorbeilleegestionHibernate”。事实上,在Hibernate jar中有一个Spring配置文件(名为jboss Spring.xml),它定义了“CorbeilleGestionHibernate”对象(行BeanFactory=(CorbeilleGestionHibernate))。这就是我们试图从EJBJAR加载的对象。我编辑此问题以添加有关此问题的更多详细信息
08:56:43,181 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.subunit."CorbeilleGestionEAR.ear"."CorbeilleGestionEJBImpl.jar".component.StartupBean.START: org.jboss.msc.service.StartException in service jboss.deployment.subunit."CorbeilleGestionEAR.ear"."CorbeilleGestionEJBImpl.jar".component.StartupBean.START: 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) [rt.jar:1.6.0_30]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
        at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
Caused by: java.lang.IllegalStateException: JBAS011048: Failed to construct component instance
        at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:163)
        at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:85)
        at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:116)
        at org.jboss.as.ejb3.component.singleton.SingletonComponent.start(SingletonComponent.java:130)
        at org.jboss.as.ee.component.ComponentStartService.start(ComponentStartService.java:44)
        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: javax.ejb.EJBException: java.lang.IllegalStateException: javax.naming.NameNotFoundException: CorbeilleGestionHibernate -- service jboss.naming.context.java.jboss.CorbeilleGestionHibernate
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleExceptionInOurTx(CMTTxInterceptor.java:166)
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:230)
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:333)
        at org.jboss.as.ejb3.tx.SingletonLifecycleCMTTxInterceptor.processInvocation(SingletonLifecycleCMTTxInterceptor.java:56)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:161)
        ... 9 more
Caused by: java.lang.IllegalStateException: javax.naming.NameNotFoundException: CorbeilleGestionHibernate -- service jboss.naming.context.java.jboss.CorbeilleGestionHibernate
        at org.jboss.spring.support.SpringInjectionSupport.lookup(SpringInjectionSupport.java:180)
        at org.jboss.spring.support.SpringInjectionSupport.getObjectFromBeanFactory(SpringInjectionSupport.java:136)
        at org.jboss.spring.support.SpringInjectionSupport.injectToField(SpringInjectionSupport.java:202)
        at org.jboss.spring.support.SpringInjectionSupport.inject(SpringInjectionSupport.java:80)
        at org.jboss.spring.callback.SpringLifecycleInterceptor.postConstruct(SpringLifecycleInterceptor.java:43)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
        at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
        at org.jboss.as.ee.component.ManagedReferenceLifecycleMethodInterceptorFactory$ManagedReferenceLifecycleMethodInterceptor.processInvocation(ManagedReferenceLifecycleMethodInterceptorFactory.java:118)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:112)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.ManagedReferenceFieldInjectionInterceptorFactory$ManagedReferenceFieldInjectionInterceptor.processInvocation(ManagedReferenceFieldInjectionInterceptorFactory.java:112)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.ManagedReferenceInterceptorFactory$ManagedReferenceInterceptor.processInvocation(ManagedReferenceInterceptorFactory.java:95)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
        at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:288) [jboss-invocation-1.1.1.Final.jar:1.1.1.Final]
        at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:228)
        ... 18 more
Caused by: javax.naming.NameNotFoundException: CorbeilleGestionHibernate -- service jboss.naming.context.java.jboss.CorbeilleGestionHibernate
        at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:97)
        at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:178)
        at org.jboss.as.naming.InitialContext.lookup(InitialContext.java:123)
        at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:214)
        at javax.naming.InitialContext.lookup(InitialContext.java:392) [rt.jar:1.6.0_30]
        at org.jboss.spring.support.SpringInjectionSupport.lookup(SpringInjectionSupport.java:173)
        ... 49 more
<sub-deployment name="CorbeilleGestionEJBImpl.jar">
    <dependencies>
        <module name="deployment.CorbeilleGestionEAR.ear.CorbeilleGestionHibernate.jar"  />
        <module name="org.jboss.as.webservices.server.integration" />
    </dependencies>
</sub-deployment>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

    <!-- Ceci permet de définir le nom JNDI -->
    <description>BeanFactory=(CorbeilleGestionHibernate)</description>

    <!-- Chargement des properties -->
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>file:${jboss.server.config.dir}/corbeille/corbeille.properties</value>
            </list>
        </property>
    </bean>

    <!-- Pour pouvoir récupérer l'application context facilement -->
    <bean id="hibernateApplicationContextHolder" class="com.sham.corbeille.util.SpringApplicationContextHolder" />

    <import resource="*-config.xml"/>
</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:jee="http://www.springframework.org/schema/jee"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/jee
        http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <bean id="hibernateJpaVendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="jpaVendorAdapter" ref="hibernateJpaVendorAdapter" />
        <property name="persistenceXmlLocation" value="classpath:META-INF/jpa-persistence.xml" />
    </bean>

    <bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
        <property name="transactionManagerName" value="java:jboss/TransactionManager" />
        <property name="userTransactionName" value="java:jboss/UserTransaction" />
        <property name="transactionSynchronizationRegistryName" value="java:jboss/TransactionSynchronizationRegistry" />
    </bean>

    <bean id="exceptionTranslator" class="org.springframework.orm.hibernate4.HibernateExceptionTranslator"/>

    <tx:annotation-driven transaction-manager="transactionManager" />

    <!-- JPA annotations bean post processor -->
    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

    <!-- Exception translation bean post processor -->
    <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>

</beans>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd">

    <!-- Configuration par annotations -->
    <context:annotation-config />
    <context:component-scan base-package="com.sham.corbeille.dao" />


    <!-- DAOs Codification -->
    <bean id="elementCodifDAO" class="com.sham.corbeille.dao.codification.ElementCodifDAOImpl" />
    <bean id="sinCodTacheDAO" class="com.sham.corbeille.dao.codification.SinCodTacheDAOImpl" />

    <!-- DAOs Client -->
    <bean id="cliClientDAO" class="com.sham.corbeille.dao.client.CliClientDAOImpl" />

    <!-- DAOs Contrat -->
    <bean id="conContratDAO" class="com.sham.corbeille.dao.contrat.ConContratDAOImpl" />

    <!-- DAOs Flux -->
    <bean id="vueMessagesCorbeilleFluxClientDAO" class="com.sham.corbeille.dao.flux.VueMessagesCorbeilleClientDAOImpl" />
    <bean id="vueMessagesCorbeilleFluxSinistreDAO" class="com.sham.corbeille.dao.flux.VueMessagesCorbeilleSinistreDAOImpl" />
    <bean id="vueMessagesCorbeilleFluxUtilisateurDAO" class="com.sham.corbeille.dao.flux.VueMessagesCorbeilleUtilisateurDAOImpl" />

    <!-- DAOs Habilitations -->
    <bean id="habUtilisateurDAO" class="com.sham.corbeille.dao.habilitations.HabUtilisateurDAOImpl" />
    <bean id="habGroupeDAO" class="com.sham.corbeille.dao.habilitations.HabGroupeDAOImpl" />
    <bean id="habFonctionDAO" class="com.sham.corbeille.dao.habilitations.HabFonctionDAOImpl" />

    <!-- DAOs Historisation -->
    <bean id="sinHistoriseEtatNotifDAO" class="com.sham.corbeille.dao.historisation.SinHistoriseEtatNotifDAOImpl" />
    <bean id="sinHistoriseEtatMessageDAO" class="com.sham.corbeille.dao.historisation.SinHistoriseEtatMessageDAOImpl" />

    <!-- DAOs Notifications -->
    <bean id="sinNotificationsDAO" class="com.sham.corbeille.dao.notifications.SinNotificationsDAOImpl" />
    <bean id="sinMessagesDAO" class="com.sham.corbeille.dao.notifications.SinMessagesDAOImpl" />
    <bean id="notificationDAO" class="com.sham.corbeille.dao.notifications.NotificationDAOImpl" />

    <!-- DAOs Personne -->
    <bean id="cliContactsDAO" class="com.sham.corbeille.dao.personne.CliContactsDAOImpl" />
    <bean id="sinActeurExterneDAO" class="com.sham.corbeille.dao.personne.SinActeurExterneDAOImpl" />

    <!-- DAOs Règlements -->
    <bean id="sinReglementDAO" class="com.sham.corbeille.dao.reglement.SinReglementDAOImpl" />

    <!-- DAOs Sinistres -->
    <bean id="sinSinistreDAO" class="com.sham.corbeille.dao.sinistres.SinSinistreDAOImpl" />
    <bean id="sinProcedureDAO" class="com.sham.corbeille.dao.sinistres.SinProcedureDAOImpl" />
    <bean id="sinVictimeDAO" class="com.sham.corbeille.dao.sinistres.SinVictimeDAOImpl" />

    <!-- DAOs Vues -->
    <bean id="vueMessagesCorbeilleDAO" class="com.sham.corbeille.dao.vues.VueMessagesCorbeilleDAOImpl" />
</beans>
@Spring(bean = "cliClientDAO", jndiName = "CorbeilleGestionHibernate")