我们在Spring web应用程序中使用计划任务来发送提醒、每日摘要等:
<task:scheduled-tasks>
<task:scheduled ref="fooService" method="bar" cron="0 0/5 * * * ?"/>
</task:scheduled-tasks>每个调度任务都调用一个给定的服务方法(上面的伪代码中的fooService.bar())。我想监控每次执行的持续时间。随着负载、数据或复杂性的增加,其中一些方法可能需要更长的时间。我可以向每个服务方法添加日志记录语句(现在大约有10个,但将来可能会有更多),或者使用方面在每个方法周围添加一些秒表行为。但是,有没有一种更直接的方法来实现这一点-在spring的所有计划任务?
发布于 2012-06-08 03:09:23
您可以使用:
$[invocationTime]占位符测量执行时间
在上面的所有解决方案中,您需要以某种方式区分您想要跟踪的方法。你可以采用某个接口的所有方法,所有带有注释的方法(包括自定义方法),使用方法命名约定……
当然,您必须选择最适合您需求的解决方案,因为最终目标是在不添加任何外部代码的情况下进行监控。
https://stackoverflow.com/questions/10938117
复制相似问题