2

在我的应用程序中,我有 2 个 bean,它们的方法带有@Scheduled注释。有时我需要安排这两种方法,有时我需要根据应用程序的输入参数安排其中一种。加载后如何禁用@Scheduled 方法?我正在使用 Spring 3.1 。

4

2 回答 2

2

我建议您不要使用@Schedule,而是应该使用TaskScheduler 根据用户输入来安排您的工作,这样您就可以更好地控制执行,spring 提供了不同的实现,请参阅javadoc和调度文档

于 2012-11-07T05:25:00.327 回答
1

您可以注入ThreadPoolTaskScheduler您的应用程序并调用

taskScheduler.getScheduledExecutor().shutdown();

但请记住,这是一个 hack。所以我建议TaskScheduler直接使用不带@Scheduled注释。

于 2012-11-07T10:19:10.557 回答