在我的spring集成應用程序中,我有幾個stored-proc-outbound-gateway,我將記錄每次調用需要多少時間,任何幫助將不勝感激。 理想情況下,我希望能夠啓用/禁用所使用參數的日誌記錄,花費時間和檢索的總行(返回結果集)進行監視和性能調整。如何記錄jdbc組件所花費的時間
由於
在我的spring集成應用程序中,我有幾個stored-proc-outbound-gateway,我將記錄每次調用需要多少時間,任何幫助將不勝感激。 理想情況下,我希望能夠啓用/禁用所使用參數的日誌記錄,花費時間和檢索的總行(返回結果集)進行監視和性能調整。如何記錄jdbc組件所花費的時間
由於
可以添加ChannelInterceptor
(的ChannelInterceptorAdapter
子類)到這將給你原始定時(preSend/postSend)請求信道,但時間將包括直接通道網關的下游的任何處理( )。由於您也想檢查結果,因此您可以在請求通道上的攔截器(preSend)中啓動一個計時器(例如Spring StopWatch
),並在回覆通道上的攔截器中停止該計時器)。如果使用相同的攔截器bean,則可以將計時器存儲在ThreadLocal
中。
您可以使用攔截器上的布爾屬性打開/關閉集合。
或者,您可以將custom advice添加到網關。
編輯
的建議可能是最好的方法,因爲有ThreadLocal
您需要將代碼添加到第一個攔截器來處理故障和清理。通過周圍的建議,計時器將只是一個本地方法變量。
感謝加里,會試試看 – Mark1234 2015-02-11 20:13:30