Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

474
Visualizações
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?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

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.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda