Sobes.tech
Junior — Middle

Explica el concepto de Interceptor en Java y en qué consiste su propósito

sobes.tech AI

Respuesta de la IA

Interceptor — es un patrón de diseño que permite interceptar llamadas a métodos, solicitudes o mensajes para realizar lógica adicional antes o después de la acción principal.

En Java, Interceptor se usa a menudo en tecnologías como Java EE (por ejemplo, CDI, EJB), donde se pueden definir métodos que se llamarán automáticamente al invocar métodos de negocio, para implementar funcionalidades transversales: registro, transacciones, seguridad, caché, etc.

Ejemplo de un Interceptor simple en Java EE:

@Interceptor
public class LoggingInterceptor {
    @AroundInvoke
    public Object logMethod(InvocationContext ctx) throws Exception {
        System.out.println("Llamada al método: " + ctx.getMethod().getName());
        Object result = ctx.proceed(); // llamada al método objetivo
        System.out.println("Método ejecutado");
        return result;
    }
}

El propósito del Interceptor es separar la lógica auxiliar de la principal, aumentar la modularidad y la reutilización del código.