2012-08-30 50 views
0

的Java大師,定義註解的時間戳方法

我爲annotations非常新,所以請多多包涵......

我想實現一個Custom Annotation這將intercept方法調用,只是打印該方法所花費的時間。可能嗎?

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

應打印像這樣在日誌中:

findMyAppObjectById() took 2.345 sec. 

我能得到一些解決這個提示?

+1

答案是否定的,是的。你不能僅僅使用註釋來做到這一點,但你可以使用註釋和方面來做到這一點。 (如果你使用Spring,這會變得更容易)。我知道這不是一個完整的迴應,但希望你能夠指引正確的方向:)。用於Java的 – Augusto

回答

2

註釋本身不能做到這一點。您需要調查一種稱爲「面向方面編程」(或AOP)的技術。

+0

,請查看AspectJ或Spring –

1

Perf4J與@Profiled註釋做同樣的事情,並提供了許多其他不顯眼的分析選項。