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

466
Vistas
AOP para métodos internos y privados Java

Estoy tratando de registrar el tiempo de ejecución de los métodos anotados con una interfaz personalizada.

Estoy usando Spring AOP.

Pero esto no parece funcionar para los métodos internos.

Creo que es la limitación en Spring AOP.

 @Aspect public class BusinessProfiler { private static Log log = LogFactory.getLog(BusinessProfiler.class); @Around("execution(* *(..)) && @annotation(TimeLog)") public Object profile(ProceedingJoinPoint point) throws Throwable { long start = System.currentTimeMillis(); Object result = point.proceed(); String format = String.format("%s#%s: took [%s msec]", point.getTarget().getClass().getSimpleName(), MethodSignature.class.cast(point.getSignature()).getMethod().getName(), System.currentTimeMillis() - start); log.info(format); return result; } }

¿Hay alguna alternativa a Spring AOP?

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

0

Si piensa en la forma en que Spring trata las anotaciones AOP, esto será claro:

Spring toma su clase y la envuelve en un proxy con el código adicional generado sobre la marcha por la anotación AOP agregada. Por lo tanto, solo se incluirá el código llamado a través del proxy (es decir, desde fuera de su clase).

Ejemplo

 @Service public class Foo { public void doSomething() { doSomethingInternal(); } public void doSomethingInternal() { } }

Si de otro Spring bean hago esto:

 @Service public class Bar { @Autowired private Foo foo; public void execute() { foo.doSomething(); } }

Solo se llamará a doSomething a través del proxy que envuelve su clase, no a doSomethingInternal, que será llamado por su clase.

about 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