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 Référence Circulaire


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 91
    Par défaut Problème Référence Circulaire
    Bonjour voici mon probleme ,

    J'ai 2 services (bean)

    service1 et service2 que je declare dans mon applicationContext.xml

    la methode methode1_a de mon serivce1 a besoin d'appeller la methode methode2_a de mon service2
    donc je declare mon service2 en propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <bean id="service1" class="com.xx.xx.xx" lazy-init="true">
            <property name="service2" >
                <ref bean="service2" />
            </property> 		
    </bean>
    jusque la pas de probleme :-)

    ensuite j'ai la methode metode2_b de mon service2 a besoin d'appeler la methode methode1_b de mon service1
    donc je declare mon service2 en propriété :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <bean id="service2" class="com.xx.xx.xx" lazy-init="true">
            <property name="service1" >
                <ref bean="service1" />
            </property> 		
    </bean>
    et là c'est le drame

    le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    org.springframework.beans.factory.BeanCreationException: Error creating bean with name '/secure/createTest' 
    defined in ServletContext resource [/WEB-INF/action-servlet.xml]: 
    Cannot resolve reference to bean 'service2' while setting bean property 'service1' nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException: 
    Error creating bean with name 'service2' Bean with name 'service2' 
    has been injected into other beans [service1] in 
    its raw version as part of a circular reference, but has eventually been wrapped 
    (for example as part of auto-proxy creation). This means that said other beans do not use the final version of the bean. 
    This is often the result of over-eager type matching - consider using 'getBeanNamesOfType' with the 'allowEagerInit' flag turned off, for example.
    Pourriez vous me dire comment résoudre ce problème.

    Merci d'avance :-)

  2. #2
    Membre chevronné
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Par défaut
    Je vois 2 solutions "simples" :

    1- implémentation de l'interface BeanFactoryPostProcessor qui possède la méthode suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory)  throws BeansException
    Tu auras accès au BeanFactory initialisé à partir de ton XML.
    Tu pourras alors gérer programmatiquement cette référence circulaire.

    2- refactoring pour supprimer cette référence circulaire. Bien que positionnée en seconde position, cette solution est certainement le premier choix vers lequel se diriger.

  3. #3
    Membre confirmé Avatar de tnodev
    Profil pro
    SSSSS
    Inscrit en
    Mai 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : SSSSS

    Informations forums :
    Inscription : Mai 2005
    Messages : 182
    Par défaut
    Bonjour

    Ya peut-être un petit problème de conception ?

Discussions similaires

  1. [XL-2007] Problème de références circulaires
    Par ESVBA dans le forum Excel
    Réponses: 2
    Dernier message: 18/05/2010, 13h51
  2. [AC-2003] Problème de référence circulaire
    Par keving01 dans le forum Modélisation
    Réponses: 1
    Dernier message: 07/10/2009, 10h32
  3. [E-03] Problème de référence circulaire
    Par oracle7556 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/03/2009, 17h06
  4. Problème Référence circulaire
    Par helico2 dans le forum C++/CLI
    Réponses: 0
    Dernier message: 28/05/2008, 23h36
  5. Problème référence circulaire
    Par Golgotha dans le forum Langage
    Réponses: 3
    Dernier message: 28/03/2008, 01h20

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