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 contexte Spring depuis migration vers Tomcat 6


Sujet :

Spring Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Problème de contexte Spring depuis migration vers Tomcat 6
    Bonjour,

    Je développe actuellement une application J2EE avec Spring et je rencontre un comportement étrange depuis tout récemment.

    L'application était originellement en java 1.4 sur un tomcat 4.1 puis nous venons de la basculer en java 1.6/tomcat 6 et c'est depuis que cela se produit.

    J'utilise l'injection de dépendance pour instancier mes DAO (une centaine) et les affecter à mes classes de services qui font des contrôles sur les règles de gestion de l'application (une centaine de classe service). Tous ces beans Spring sont déclarés dans une quarantaine de fichiers de contexte lus au démarrage de Tomcat.
    Au niveau de la console Tomcat, pas d'erreur apparentes.

    Mon problème :
    En utilisant l'application, quand j'arrive dans une classe service bien précise, 3 des 4 DAO qu'elle référence sont à "null". D'où une jolie exception dès qu'on y fait appel...
    Or ces DAO sont correctement instanciées et référencées dans d'autres services de l'application et sont tout à fait fonctionnelles.

    J'ai mis des traces log4j sur la classe service à problème, j'ai découvert que les setXXXDAO() n'étaient même pas appelés sauf 1 (!) au démarrage par Spring.

    Encore plus bizarre, mon service est le premier instancié dans mes fichiers de contexte traitant des services, or si je déplace tout le bloc de code ailleurs dans un autre fichier contexte lu plus tard, miracle ça fonctionne !
    Voici une idée de mon bean à problème :

    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
    	<!-- Alice -->
    	<bean id="domaineAliceManagerTarget" 
    		class="monAppli.service.alice.impl.DomaineAliceManagerImpl">
            <property name="domaineAliceDAO"><ref bean="domaineAliceDAO"/></property>
            <property name="entiteGLDAO"><ref bean="entiteGLDAO"/></property>
            <property name="genieAliceDAO"><ref bean="genieAliceDAO"/></property>
            <property name="compteAuxiliaireDAO"><ref bean="compteAuxiliaireDAO"/></property>
        </bean>		
    	<bean id="domaineAliceManager" 
            class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
            <property name="transactionManager"><ref bean="transactionManager"/></property>
            <property name="target"><ref local="domaineAliceManagerTarget"/></property>
            <property name="transactionAttributes">
                <props>
                    <prop key="create*">PROPAGATION_REQUIRED</prop>
                    <prop key="delete*">PROPAGATION_REQUIRED</prop>
                    <prop key="save*">PROPAGATION_REQUIRED</prop>
                    <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
                </props>
            </property>
        </bean>
    Au niveau du démarrage de contexte, le web.xml est tout simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>/WEB-INF/classes/conf/context*.xml</param-value>
    	</context-param>
    Si vous avez besoin d'autres éléments, n'hésitez pas à me les demander.

    J'avoue que ça me laisse perplexe.

    Merci d'avance.

  2. #2
    Futur Membre du Club
    Inscrit en
    Août 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    J'ai essayé de prendre une version plus récente du framework mais ça n'a rien changé.

    J'ai résolu mon problème en renommant mon fichier de contexte. contextService-alice.xml s'appelle maintenant contextService-domainealice.xml.

    Et là, tout fonctionne bien.

    Problème résolu.... mais je n'ai rien compris.

Discussions similaires

  1. [2.x] Problèmes depuis la migration vers la RC1
    Par djmalo dans le forum Symfony
    Réponses: 9
    Dernier message: 28/06/2011, 03h50
  2. Réponses: 11
    Dernier message: 04/05/2011, 12h37
  3. Problème suite à la migration de tomcat vers la 6.0.20
    Par micamel dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 10/09/2009, 19h57
  4. Erreur depuis migration vers EasyPHP 1.8
    Par Pokerstar dans le forum Requêtes
    Réponses: 0
    Dernier message: 03/01/2008, 14h11
  5. Problème Fireboard depuis migration vers OVH
    Par Invité1 dans le forum OVH
    Réponses: 1
    Dernier message: 25/08/2007, 20h20

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