注釈は、Beanインスタンスを定義するために使用され、結果を返す必要があります。 @Scheduled
注釈はのBeanメソッドに属し、Bean自体ではなく、そのメソッドはvoidを返す必要があります。また、@Configuration
クラスのいずれかに@EnableScheduling
を入れてスケジューリングを有効にすることを忘れないでください。たとえば、次のように
MyConfig.java
@Configuration
@EnableScheduling
public class MyConfig
{
}
MyScheduledJob.java
@Component
public class MyScheduledJob
{
@Scheduled(fixedRate = 5000)
public void doSomething() // Note: Should only return void
{
System.out.println(Instant.now() + ": MyScheduledJob.doSomething() invoked.");
}
}
出力:
2017-01-28T03:08:04.760Z: MyScheduledJob.doSomething() invoked.
2017-01-28T03:08:09.756Z: MyScheduledJob.doSomething() invoked.
2017-01-28T03:08:14.755Z: MyScheduledJob.doSomething() invoked.
2017-01-28T03:08:19.758Z: MyScheduledJob.doSomething() invoked.
奇妙な質問!なぜあなたはそれをしたいですか? Spring beanは、デフォルトではシングルトンです。 –