2013-03-19 18 views
1

Im爲我的應用程序實現了一種監視框架。基本思想是使用Aspectj編寫一段代碼,通過JMX顯示某些註釋的變量。 所以我用切入點Aspectj圍繞字段和類初始化的建議

@Around("get (@mypackage.Gauge * *) && @annotation(annotation)") 

然而,爲了讓我的變量通過JMX暴露我需要得到它的值一次(這樣JMX結合發生)。我使用編譯時編織。有沒有什麼辦法可以在加載@Gauge註解的類後執行某段代碼?

+0

這個問題還不清楚,請詳細說明。 CTW和LTW爲什麼要在這裏有所作爲?無論何時和如何編碼方面代碼,它將始終在運行時執行。 – kriegaex 2013-03-23 13:27:43

+0

帶彈簧的Runing應用程序假定您的bean是通過.xml文件中的聲明創建的。在這種情況下,我可以將InitializingBean接口添加到這些類,並在afterPropertiesSet方法中執行初始化。但是,我的bean不是直接由spring創建的,所以我不能使用InitializingBean – SirVaulterScoff 2013-04-01 08:19:58

回答

1

有一次 類@Gauge註釋加載,我可以執行一定的一段代碼什麼辦法?

是。試試這個:

after() : staticinitialization(@Gauge *) { 
    // Do something here 
} 
+0

謝謝,似乎是在做魔術 – SirVaulterScoff 2013-04-03 06:07:38