2

我们在 Spring Web 应用程序中使用计划任务来发送提醒、每日摘要等:

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

每个计划任务调用一个给定的服务方法(上面伪代码中的 fooService.bar())。我想监控每次执行持续多长时间。随着负载、数据或复杂性的增加,其中一些方法可能需要更长的时间。我可以将日志语句添加到每个服务方法(现在大约 10 个,但将来可能更多),或者使用方面在每个方法周围放置一些秒表行为。但是对于春季的所有计划任务,是否有更直接的方法来实现这一点?

4

1 回答 1

1

您可以使用:

在上述所有解决方案中,您需要以某种方式区分要跟踪的方法。您可以采用某个接口的所有方法,使用某个注释(包括自定义一个)注释的所有方法,使用方法命名约定......

当然,您必须选择最适合您需求的解决方案,因为最终目标是在不添加任何外部代码的情况下进行监控。

于 2012-06-07T19:09:22.670 回答