0

爪哇大师,

我很新,annotations所以请多多包涵...

我想实现一个Custom Annotation方法intercept调用并打印该方法所花费的时间。可能吗?

@EnableElapsedTime
public MyAppObject findMyAppObjectById(Long id) throws MyCustomException {
    //....
}   

应该在日志中打印这样的内容:

findMyAppObjectById() took 2.345 sec.

我能得到一些提示吗?

4

2 回答 2

2

单独的注释无法做到这一点。您需要研究一种称为“面向方面编程”(或 AOP)的技术。

于 2012-08-30T09:35:48.657 回答
1

Perf4J does the same thing with @Profiled annotation and provides many other unobtrusive profiling options.

于 2012-08-30T09:51:05.550 回答