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 :

[AOP] L'aspect n'est pas appelé


Sujet :

Spring Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 382
    Points : 73
    Points
    73
    Par défaut [AOP] L'aspect n'est pas appelé
    Bonjour,

    j'ai le code suivant mais MonLogger ne fait pas son boulot. En effet, il ne se lance jamais.

    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
     
    package ew.aop;
     
    import org.aspectj.lang.JoinPoint;
    import org.aspectj.lang.JoinPoint.StaticPart;
     
    public class MonLogger {
     
        public void logMethodEntry(JoinPoint joinPoint) {
            Object[] args = joinPoint.getArgs();
            String name = joinPoint.getSignature().toLongString();
            StringBuffer sb = new StringBuffer(name + " called with: [");
            for (int i = 0; i < args.length; i++) {
                Object o = args[i];
                sb.append("'" + o + "'");
                sb.append((i == args.length - 1) ? "" : ", ");
            }
            sb.append("]");
            System.out.println(sb);
        }
     
        public void logMethodExit(StaticPart staticPart, Object result) {
            String name = staticPart.getSignature().toLongString();
            System.out.println(name + " returning: [" + result + "]");
        }
     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    package ew.service;
     
    public class MonService {
     
        public String hello(String msg){
            String s = "Hello "+msg;
            System.out.println(s);
            return s;
        }
    }
    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
     
    package ew.test;
     
    import junit.framework.TestCase;
     
    import org.springframework.beans.factory.xml.XmlBeanFactory;
    import org.springframework.core.io.ClassPathResource;
     
    import ew.service.MonService;
     
    public class MonServiceTest extends TestCase {
     
        public void testMonService() {
     
            ClassPathResource resource = new ClassPathResource("context.xml");
            XmlBeanFactory context = new XmlBeanFactory( resource );
            MonService monService = (MonService) context.getBean("monService");
            monService.hello("from Spring !");
            monService.hello("coucou");
        }
    }
    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
    <?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"
           xsi:schemaLocation="
                http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
     
        <!--    Debut de la configuration AOP -->    
        <aop:config>
            <aop:pointcut id="servicePointcut"  expression="execution(* ew.service.*..(..))"/>            
            <aop:aspect id="loggingAspect" ref="monLogger">
                <aop:before method="logMethodEntry"  pointcut-ref="servicePointcut"/>            
                <aop:after-returning method="logMethodExit" returning="result" pointcut-ref="servicePointcut"/>
            </aop:aspect>        
        </aop:config>
     
          <bean id="monLogger" class="ew.aop.MonLogger"/>    
        <!-- Fin de la configuration AOP -->    
     
        <bean name="monService" class="ew.service.MonService" />
     
    </beans>
    De plus, j'utilise maven mais je en trouve pas les groupID et artifact pour utiliser Spring (IOC, Aspect seulement)....

  2. #2
    Membre régulier
    Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 89
    Points : 111
    Points
    111
    Par défaut
    et en remplaçant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <aop:pointcut id="servicePointcut"  expression="execution(* ew.service.*..(..))"/>
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <aop:pointcut id="servicePointcut"  expression="execution(* ew.service.*(..))"/>
    (merci intelliJ)

Discussions similaires

  1. [Framework] [AOP] L'advice n'est pas toujours appelé
    Par elitost dans le forum Spring
    Réponses: 2
    Dernier message: 23/01/2009, 00h11
  2. La classe Installer n'est pas appelée
    Par alexandreb dans le forum C#
    Réponses: 5
    Dernier message: 06/07/2007, 16h35
  3. [AJAX] [Firefox] send n'est pas appelée tout le temps
    Par MademoiselleL dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/07/2007, 16h16
  4. [débutant] la methode Validate() n'est pas appellée
    Par maxattack dans le forum Struts 1
    Réponses: 26
    Dernier message: 16/05/2007, 18h06
  5. [servlet][filtre] filtre qui n'est pas appelé
    Par felix79 dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 29/06/2005, 21h09

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