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 :

Configuration spring AOP [Framework]


Sujet :

Spring Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Par défaut Configuration spring AOP
    Bonjour à tous,

    Je cherche à mettre en place spring AOP sur mon projet. Ce projet est géré uniquement via les annotations.

    J'ai créé un aspect de test (en gros, j'ai essayé de faire en sorte que l'aspect mette une trace des les logs sur l'appel d'une méthode d'un de mes services) et j'ai essayé, en vain, de l'intégrer dans mon projet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @Aspect
    public class TestAspect{
     
       @Pointcut("execution(* com.monprojet.*.*(..))")
        public void testMethods(){}
     
       @Before("testMethods()")
       public void logMethodCall(){
          System.out.println("my test !");
       }
    }
    Mon ami google m'a indiqué qu'il fallait que j'indique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <aop:aspectj-autoproxy />
    dans ma configuration.

    Le problème est que l'ajout de cette ligne semble provoquer des erreurs au niveau de la configuration des transactions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    	<property name="sessionFactory" ref="coreSessionFactory" />
    </bean>
    <tx:annotation-driven transaction-manager="txManager" />
    Lorsque je charge mon application, j'ai une très jolie (sic) "org.hibernate.SessionException: Session is closed".

    Une idée sur le pourquoi du comment?
    D'avance !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Par défaut
    Eurêka !

    La correction est toute simple en fait mais comme d'habitude, faut chercher des heures avant de trouver le petit grain de sable qui coince.

    Donc il s'avère que pour configurer spring AOP sur mon projet, il a fallu que je retire les lignes permettant aux transactions par annotations de fonctionner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <!--
    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory" ref="coreSessionFactory" />
    	</bean>
    	<tx:annotation-driven transaction-manager="txManager" />
    -->
    C'est apparament spring AOP qui se charge de parametrer les annotations @Transactionnal

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Framework] Spring AOP configuration
    Par khaigo dans le forum Spring
    Réponses: 1
    Dernier message: 11/08/2009, 16h41
  2. [Framework] Spring AOP PointcutAdvisor et PerformanceInterceptor
    Par mulderz dans le forum Spring
    Réponses: 1
    Dernier message: 30/11/2007, 20h42
  3. Réponses: 3
    Dernier message: 04/04/2007, 08h45
  4. [Framework] HelloWorld avec Spring AOP
    Par LaJavanaise dans le forum Spring
    Réponses: 8
    Dernier message: 03/03/2006, 10h16

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