2012-06-07 76 views
1

我們使用計劃任務在Spring Web應用程序發送提醒,每日摘要等:春天計劃任務:執行監視持續時間

<task:scheduled-tasks> 
    <task:scheduled ref="fooService" method="bar" cron="0 0/5 * * * ?"/> 
    </task:scheduled-tasks> 

每個計劃的任務調用一個給定的服務方法(fooService.bar( )在上面的僞代碼中)。我想監視每個執行持續的時間。隨着負載,數據或複雜性的增加,其中一些方法可能需要更長的時間。我可以將日誌記錄添加到每個服務方法(現在約10個,但未來可能更多),或者使用方面在每個方法周圍放置一些秒錶行爲。但是,在春季所有計劃任務中是否有更直接的方法來實現這一目標呢?

回答

1

您可以使用:

在上述所有解決方案中,您需要以某種方式區分要追蹤的方法。你可以採取一些接口的所有方法,具有一定的註釋(包括自定義的),使用方法的命名約定註釋的所有方法...

當然作爲終極目標是你必須選擇最適合您需求的解決方案無需添加任何外部代碼即可監控。

+0

謝謝 - 我看着org.springframework.aop.interceptor.CustomizableTraceInterceptor,並且意識到我想爲警告和錯誤記錄添加閾值。我創建了自己的MethodInterceptor實現來滿足這些需求,但是您的回答指向了正確的方向,並回答了我所問的問題。 –