Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

247
Vistas
La vinculación del interceptor no funciona

Tengo una clase de interceptor CDI anotada con javax.interceptor.InterceptorBinding @LogBinding, definida de la siguiente manera:

 @InterceptorBinding @Retention(RUNTIME) @Target({METHOD, TYPE}) public @interface LogBinding {}

Luego uso la anotación en el bean EJB:

 @Alternative @Stateless @LogBinding public class FooService { @Asynchronous public fooMethod() { } }

Invoco fooMethod desde otro bean. El problema es que el interceptor no se llama. Todo funciona cuando cambio la anotación @LogBinding a @Interceptors({LogInterceptor.class}) en FooService. No sé si puede tener impacto, pero FooService se comercializa como @Alternative, porque se inyecta en otros lugares como EJB bean, a continuación se muestra el campo productor:

 @Default @Produces @EJB private FooService fooService; @Interceptor @LogBinding @Priority(Interceptor.Priority.APPLICATION) public class LogInterceptor { @AroundInvoke public Object invoke(final InvocationContext invocationContext) throws Exception { System.out.println("it works"); } }

¿Por qué no funciona?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

También debe anotar su clase de interceptor con ese enlace para que sepa qué clase usar como interceptor.

 @LogBinding @Interceptor public class LogInterceptor {...}
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda