2013-04-08 127 views
2

我已經使用了在JDK和其他庫(如hibernate)中給予我們的簡單註釋,但是我從來沒有寫過自己的註解。有人可以幫我決定註釋是否是正確的方法嗎?Java註釋處理基礎

我想註釋的方法是這樣的:

@MyAnnotation(5) 
public void foo() { 
    methodThatMightTakeLongerThan5(); 
} 

當富花費超過5秒,打印一條消息,我的日誌文件。這可能與註釋?這是首選的實施?

更進一步...我想能夠修改通過JMX bean傳遞給註釋的值,以便我可以在運行時修改它,如果我想。這是可能的/首選的?

+0

這可能很相關。您是否正在使用JSR269註釋處理器來完成這個或者僅僅是標準的反射? – 2013-04-08 23:09:50

+0

就是這樣,我對註釋處理器沒有多少經驗。你可以在這個主題上發表任何光線都很有幫助。我訪問了我通過Google搜索發現的幾個網站,但燈泡尚未開啓。 – 2013-04-09 05:02:59

回答

0

你可以把methodThatMightTakeLongerThan5();放在一個Thread裏面,運行線程foo(),等待5秒鐘後用Thread.sleep(5000);,然後檢查線程是否完成。如果不是,打印任何你需要的東西。我假設有一種方法來檢查一個線程是否正在運行,但我不確定。

+0

我正在考慮做類似的事情,但我傾向於註釋的原因是它很簡單並且可以重複使用。我有幾個地方,這將是有用的。 – 2013-04-09 05:01:10