在Spring中禁用@Scheduled方法/ bean

时间:2012-11-07 05:19:51

标签: java spring

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

2 个答案:

答案 0 :(得分:2)

我建议您不要使用@Schedule,而应使用TaskScheduler根据用户输入调度您的作业,这样您就可以更好地控制执行,Spring提供的不同实现请参考javadoc和调度{ {3}}

答案 1 :(得分:1)

您可以将ThreadPoolTaskScheduler注入您的应用程序并致电

taskScheduler.getScheduledExecutor().shutdown();

但请记住,这是一个黑客。因此,我建议直接使用TaskScheduler而不使用@Scheduled注释。