IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Java Discussion :

Problème de création de beans


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 106
    Par défaut Problème de création de beans
    Bonjour,

    j'ai une application web JEE avec l'utlisation de JPA/Hibernate pour le mapping, spring pour l'injection de dépendances et jsf pour les vues

    mon probéléme est que la persistenceUnit est incapable de créer la session factory
    l'erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: PersistenceUnit] Unable to build Hibernate SessionFactory
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1553)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:539)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475)
    	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304)
    	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300)
    	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195)
    	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:973)
    	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:750)
    	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482)
    	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    	at com.orange.service.impl.Main.main(Main.java:16)
    Caused by: javax.persistence.PersistenceException: [PersistenceUnit: PersistenceUnit] Unable to build Hibernate SessionFactory
    	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1225)
    	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.access$600(EntityManagerFactoryBuilderImpl.java:119)
    	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:853)
    	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$4.perform(EntityManagerFactoryBuilderImpl.java:843)
    	at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.withTccl(ClassLoaderServiceImpl.java:397)
    	at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:842)
    	at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152)
    	at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:67)
    	at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:318)
    	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:318)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1612)
    	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1549)
    	... 12 more
    voilà mon hibernate.cfg.xml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    		"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    		"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory name="entityManagerFactory">
            <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
            <property name="hibernate.connection.password">webroot</property>
            <property name="hibernate.connection.url">jdbc:oracle:thin:@localhost:1521:KPIDBL</property>
            <property name="hibernate.connection.username">web</property>
            <property name="hibernate.default_schema">KPI</property>
            <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        </session-factory>
    </hibernate-configuration>
    la persistence.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence xmlns="http://java.sun.com/xml/ns/persistence"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/persistence 
    	                   http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
    	version="1.0">
    	<persistence-unit name="PersistenceUnit" transaction-type="RESOURCE_LOCAL">
     
     
     
    	</persistence-unit>
    </persistence>
    applicationContext.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    <?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:aop="http://www.springframework.org/schema/aop"
    	   xmlns:context="http://www.springframework.org/schema/context"
    	   xmlns:jee="http://www.springframework.org/schema/jee" 
    	   xmlns:tx="http://www.springframework.org/schema/tx"
    	   xmlns:task="http://www.springframework.org/schema/task"
     
    	   xsi:schemaLocation="
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-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/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
           http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
     
    	<context:annotation-config />
    	<context:component-scan base-package="com.orange.*" >
        </context:component-scan> 
     
     
    	<!-- Externalizing configuration properties -->
     
    	<bean id="propertyConfigurer"
    		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    		<property name="locations">
    			<list>
    				<!-- Data Source Configuration -->
    				<value>classpath*:/properties/db.properties</value>
     
    				<!-- JPA ORM Configuration -->
    				<value>classpath*:properties/jpa.properties</value>
    			</list>
    		</property>
    	</bean> 
     
    		<!-- Persistence Declaration -->
    	<bean id="PersistenceUnit"
    		class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
    		<property name="persistenceXmlLocations">
    			<list>
    				<value>classpath*:META-INF/persistence.xml</value>
    			</list>
    		</property>
    	</bean> 
     
     
    	<!-- Data Source Declaration -->
    	<bean id="DataSource"
    		class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    		<property name="driverClassName" value="${ds.driverClassName}" />
    		<property name="url" value="${ds.url}" />
    		<property name="username" value="${ds.username}" />
    		<property name="password" value="${ds.password}" />
    	</bean> 
     
     
    	<!-- Entity Manager Declaration -->
    	<bean id="entityManagerFactory"
    		class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    		<!-- Specify the Date Source -->
    		<property name="dataSource" ref="DataSource" />
    		<!-- specify Hibernate as the the JPA provider -->
    		<property name="jpaVendorAdapter">
    			<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
    				<property name="showSql" value="${jpa.showSql}" />
    				<property name="databasePlatform" value="${jpa.hibernate.dialect}" />
    			</bean>
    		</property>
    	</bean> 
     
     
    	<!-- The transaction manager declaration -->
    	<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    		<property name="entityManagerFactory" ref="entityManagerFactory" />
    	</bean>
     
    	<!-- ========================= RESOURCE DEFINITIONS ========================= -->
     
    	<!-- ================================== TRANSACTIONS DEFINITIONS ================================== -->
     
    	<!-- enables interpretation of the @Transactional annotation for declerative
    		transaction management using the specified transactionManager -->
    	<tx:annotation-driven transaction-manager="transactionManager" />
     
     
    </beans>
    pouvez vous m'aidre svp et merci d'avance

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Moi je collerais un breakpoint dans EntityManagerFactoryBuilderImpl.java:1225 et je regarderais ce qu'il se passe... La stacktrace ne permet pas de se faire une idée en tout cas

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 106
    Par défaut
    Merci pour votre réponse Pill_S
    je lance le breakpoint je fais le debug mais j'ai regardé sans connaitre où je dois corriger pour fonctionner l'application
    est -il mes fichiers .xml corrects

    Merci

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Moui, à première vue ça a pas l'air complètement faux... mais bon on ne sait jamais...

    Essaie de mettre tous les logs en DEBUG, et de mettre des breakpoint là où ça va bien (en lisant rapidement le code source de l'entitymanager, tu peux peut-être te faire une idée de ce qui ne fonctionne pas)...

    PS: un conseil, ne met pas les username/passwords/url réelles quand tu poste sur un forum... de même, j'ai tendance à virer tout ce qui se rapporte à mon entreprise (remplace com.orange par com.xxxx)

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2013
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Juillet 2013
    Messages : 106
    Par défaut
    Merci Pill_S

    pouvez vous m'aider de corriger ce bug

    Error creating bean with name 'xxxService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.xxx.dao.xxxDao com.xxx.service.impl.xxxServiceImpl.ratDao; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframedbwork.orm.jpa.LocalContainerEntityManagerFactoryBean] for bean with name 'entityManagerFactory' defined in URL [jar:file:/C:/DevWorks/xxx/softs/servers/apache-tomcat-7.0.53/wtpwebapps/kpi-web/WEB-INF/lib/xxx-commons-0.0.1-SNAPSHOT.jar!/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.springframedbwork.orm.jpa.LocalContainerEntityManagerFactoryBean

    caused by
    Cannot find class [org.springframedbwork.orm.jpa.LocalContainerEntityManagerFactoryBean] for bean with name 'entityManagerFactory' defined in URL [jar:file:/C:/DevWorks/xxx/softs/servers/apache-tomcat-7.0.53/wtpwebapps/kpi-web/WEB-INF/lib/kpi-commons-0.0.1-SNAPSHOT.jar!/applicationContext.xml]; nested exception is java.lang.ClassNotFoundException: org.springframedbwork.orm.jpa.LocalContainerEntityManagerFactoryBean

    aidez moi svp
    merci

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.ClassNotFoundException: org.springframedbwork.orm.jpa.LocalContainerEntityManagerFactoryBean
    il manque un jar

Discussions similaires

  1. probléme de création des bean Spring
    Par lionel84 dans le forum Spring Web
    Réponses: 1
    Dernier message: 20/08/2008, 20h38
  2. Réponses: 7
    Dernier message: 16/06/2004, 15h02
  3. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59
  4. Problème de création de fenêtre
    Par tomateauketchup dans le forum DirectX
    Réponses: 1
    Dernier message: 08/06/2003, 19h42
  5. [Rave Report] problème de création dynamique
    Par Nivux dans le forum Rave
    Réponses: 2
    Dernier message: 24/05/2003, 00h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo