前提・実現したいこと
Springのスケジューリング機能で定期実行を行いたいです。
発生している問題・エラーメッセージ
現在、@Scheduledを付与したメソッドが動くと処理内容が2回実行されます。
該当のソースコード
定期実行させるクラス
Java
1 2public class MyBean { 3 4 /// スネークケースをキャメルケースに変換お願いします。 5 /// javadocの記入で説明をお願いします。 6 //「秒 分 時 日 月 曜日 年」の順番で記述 7 @Scheduled(cron = "0 */1 * * * ? ") 8 public String test() { 9 //処理内容 10} 11
Java
1import org.springframework.context.annotation.Bean; 2import org.springframework.context.annotation.Configuration; 3import org.springframework.scheduling.annotation.EnableScheduling; 4 5import com.mvc.test.service.MyBean; 6 7@Configuration 8@EnableScheduling 9public class AppConfig { 10 11 @Bean 12 public MyBean bean() { 13 return new MyBean(); 14 } 15}
Java
1import org.springframework.context.annotation.AnnotationConfigApplicationContext; 2import org.springframework.context.support.AbstractApplicationContext; 3 4import com.mvc.test.config.AppConfig; 5 6///javadocの記入にて説明をお願いします。 7public class AppMain { 8 9 public void rel(){ 10 AbstractApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class); 11 } 12 13}
試したこと
処理内容にfor文が含まれているため、処理内容がおかしいと思い試しにfor文を消してSystem.out.println("タスクスタート!");で処理内容を変えたところ、for文がないのに2つ「タスクスタート!」が表示されたので、やはり@Scheduledがおかしいと思われます。
補足情報(FW/ツールのバージョンなど)
eclipse-Oxygen
Spring 4.3.21.RELEASE
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。