Articles of aspectj

Ajouter du code à la méthode de la bibliothèque privée du package

J’ai une classe de bibliothèque avec une méthode privée de package. Remplacer directement cette méthode par une sous-classe n’est pas une option. Existe-t-il un moyen, aussi laid soit-il, d’exécuter son propre code lorsque cette méthode privée du package est appelée depuis la bibliothèque, par exemple à l’aide de AspectJ? Voici un exemple simplifié de la […]

Comment instrumenter / conseiller un référentiel Spring Data (JPA)?

Je ne parviens pas à conseiller un référentiel jpa de données printanières. Le but est d’instrumenter (autour de) toutes les méthodes publiques non void dans un référentiel particulier annoté avec une annotation personnalisée (ResourceNotFound dans cet exemple) et de lever une exception lorsque la valeur de retour est null ou une collection vide. @Repository @ResourceNotFound […]

Impossible de trouver org.aspectj.weaver.reflect.ReflectionWorld

J’établis un projet Spring 3.2.3 + Hibernate 4 dans Eclipse 4.3. Lorsque j’ajoute le code à mon contexte, l’erreur suivante s’affiche dans chaque bean: Build path is incomplete. Cannot find class file for org/aspectj/weaver/reflect/ReflectionWorld$ReflectionWorldException Maintenant, j’ai ajouté les dépendances AspectJ Tools et Cglib à mon projet et les fichiers JAR sont présents, y compris la […]

Spring AspectJ échoue lors de l’interface de proxy double: impossible de générer la sous-classe CGLIB de la classe

J’utilise de Spring pour proxy certaines interfaces de référentiel JPA . Cependant, le proxy échoue avec la Cannot subclass final class class $Proxy80 : Impossible de générer la sous-classe CGLIB de la classe [class $ Proxy80]: les causes courantes de ce problème incluent l’utilisation d’une classe finale ou d’une classe non visible; l’exception nestede est […]

Les tests JUnit échouent lorsqu’ils sont exécutés ensemble mais passent individuellement

J’ai un tas de tests JUnit qui fonctionnent tous individuellement. Chacun de ces tests est un véritable test unitaire autonome – classe unique testée. Aucun contexte n’est requirejs. Je peux les exécuter tous individuellement ou tous ensemble, soit dans Eclipse, soit via maven / surefire-plugin. Depuis, j’ai ajouté un nouveau test d’intégration qui exploite le […]

AspectJ & Maven met en garde: “Les conseils définis dans… n’ont pas été appliqués?”

J’essaie d’intégrer certains aspects au moment de la compilation dans un projet qui devient un WAR. Les aspects conseillent des classes qui sont dans le même projet (bien que dans des packages différents). Je reçois l’avertissement: Advice not applied Mon aspect n’est pas en cours d’exécution. Voici ma configuration: annotation FooAnnotation.java: package a; @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) […]

Exécuter JDK8 pour aspectj

J’essaie de lancer le plugin aspectj-maven avec JDK8. Mais il donne des erreurs du type “Le type java.lang.CharSequence ne peut pas être résolu. Il est référencé indirectement à partir des fichiers .class requirejs” Toute aide sur la façon de résoudre, ou si le plugin aspectj-maven prend en charge JDK8. J’utilise la version 1.6 de aspectj […]

@EnableAspectJAutoProxy ne fonctionne pas

J’utilise Spring Boot et j’aimerais utiliser AspectJ avec elle. Les œuvres suivantes (bien sûr): @Aspect @Composant Classe publique RequestMappingAspect { @Before (“@ annotation (org.springframework.web.bind.annotation.RequestMapping)”) public void advice (JoinPoint joinPoint) { … } } Toutefois, si @Component est supprimé et que @EnableAspectJAutoProxy est ajouté, les opérations suivantes ne fonctionnent pas. @SpringBootApplication @ EnableSwagger2 @EnableAspectJAutoProxy Classe publique […]

Comment avaler une exception à AfterThrowing in AspectJ

Dans AspectJ, je veux avaler une exception. @Aspect public class TestAspect { @Pointcut(“execution(public * *Throwable(..))”) void throwableMethod() {} @AfterThrowing(pointcut = “throwableMethod()”, throwing = “e”) public void swallowThrowable(Throwable e) throws Exception { logger.debug(e.toSsortingng()); } } public class TestClass { public void testThrowable() { throw new Exception(); } } En haut, il n’a pas avalé d’exception. L’appelant […]

Exécuter AspectJ provoque NoSuchMethodError: Aspect.aspectOf

J’ai un aspect AspectJ très simple (avec @AspectJ) qui ne fait qu’imprimer un message de journal. Mon objective est de conseiller le code dans mon application Android. Maintenant, ces aspects fonctionnent parfaitement tant que j’ai la classe d’aspect elle-même dans le code source de mes applications. Une fois que je déplace l’aspect dans un autre […]