2012-06-07 71 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实现来满足这些需求,但是您的回答指向了正确的方向,并回答了我所问的问题。 –