Vs d'exécution appel Point de jonction

J'ai deux autre aspect classes de compter le nombre de non-statique les appels de méthode pour l'exécution d'un programme de test. Le premier aspect compte des méthodes sur "appel" rejoindre les points:

pointcut methodCalls() : call (!static * test..*(..));
before(): methodCalls() {
        counter.methodCallCounter();
}

tandis que le second aspect compte des méthodes sur "l'exécution" rejoindre les points:

pointcut methodCalls() : execution (!static * test..*(..));
before(): methodCalls() {
        counter.methodCallCounter();
}

methodCallCounter() est une méthode statique dans la lutte contre classe.

Le nombre d'appels de méthode pour petit programme de test est le même. Mais lorsque je modifie le programme de test avec un programme plus le nombre d'appels de méthode dans la deuxième aspect de la classe (avec l'exécution coupe transverse (pointcut)) est plus que le nombre d'appels de méthode dans l'aspect de la classe avec les appels en coupe transverse (pointcut). C'est raisonnable que le coup de rejoindre le point de ne pas choisir les appels effectués avec des super et n'a donc pas compter.

Cependant, j'ai rencontré un cas où, pour l'exécution spécifiques du programme, le nombre de non-statique des appels de méthode dans l'aspect de la classe avec "call coupe transverse (pointcut)" a été plus élevé que le nombre d'appels de méthode dans l'aspect de la classe avec "l'exécution coupe transverse (pointcut)". Je ne peux trouver aucune interprétation pourquoi ce qui se passe. Aucune idée sur la raison de la deuxième situation est appréciée.

source d'informationauteur user1843337