Junior — Middle
Explique le concept d'Interceptor en Java et en quoi consiste sa fonction
sobes.tech IA
Réponse de l'IA
Interceptor est un patron de conception qui permet d’intercepter les appels de méthodes, requêtes ou messages pour exécuter une logique supplémentaire avant ou après l’action principale.
En Java, l’interceptor est souvent utilisé dans des technologies telles que Java EE (par exemple, CDI, EJB), où l’on peut définir des méthodes qui seront automatiquement appelées lors de l’appel de méthodes métier, pour implémenter des fonctionnalités transversales : journalisation, transactions, sécurité, mise en cache, etc.
Exemple d’un Interceptor simple en Java EE :
@Interceptor
public class LoggingInterceptor {
@AroundInvoke
public Object logMethod(InvocationContext ctx) throws Exception {
System.out.println("Appel de la méthode : " + ctx.getMethod().getName());
Object result = ctx.proceed(); // appel de la méthode cible
System.out.println("Méthode exécutée");
return result;
}
}
L’objectif de l’interceptor est de séparer la logique auxiliaire de la logique principale, d’accroître la modularité et la réutilisation du code.