ich very simple examples Online verfolgt habe noch einen cron-Job im Frühjahr einzurichten Ich halte diesen Fehler in meinem Tomcat-Start einloggen jedes Mal bekommen:Mit @Scheduled und @EnableScheduling aber gibt NoSuchBeanDefinitionException
2015-05-25 00:32:58 DEBUG ScheduledAnnotationBeanPostProcessor:191 -
Could not find default TaskScheduler bean org.springframework.beans.factory.NoSuchBeanDefinitionException: No
qualifying bean of type [org.springframework.scheduling.TaskScheduler] is defined
2015-05-25 00:32:58 DEBUG ScheduledAnnotationBeanPostProcessor:202 - Could not
find default ScheduledExecutorService bean
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying
bean of type [org.springframework.scheduling.TaskScheduler] is defined
Und die 2 Java-Klassen verwendet, um die cron zu implementieren:
1) die @Configuration Klasse:
@Configuration
@EnableScheduling
public class ClearTokenStoreCronEnable {
final static Logger log =
LoggerFactory.getLogger(ClearTokenStoreCronEnable.class);
private @Autowired TokenStoreRepository tokenStoreRepository;
}
und cron Jobklasse:
@Service
public class ClearTokenStoreWorkerService {
final static Logger log = LoggerFactory.getLogger(ClearTokenStoreWorkerService.class);
private @Autowired TokenStoreRepository tokenStoreRepository;
//@Scheduled(fixedDelay=5000)
//run daily at midnight
@Scheduled(cron = "0 0 * * * *")
public void tokenStoreTable() {
log.debug("tokenstore table truncated - start");
tokenStoreRepository.deleteAll();
log.debug("tokenstore table truncated - end");
}
}
Als eine Nebenbemerkung läuft der Cron-Job um Mitternacht, aber es scheint auch zu anderen Zeiten zufällig zu laufen. Nicht sicher, ob dies ein Bug oder mein Cron-Ausdruck ist falsch: @Scheduled(cron = "0 0 * * * *")
Mein Hauptanliegen ist zu diesem Zeitpunkt, warum bin ich ScheduledAnnotationBeanPostProcessor
Fehler zu bekommen? Es sucht nach einem TaskScheduler und ScheduledExectorService. Ich muss nur einmal am Tag feuern. Ich mache keine gleichzeitige Verarbeitung oder wo ich mehrere Threads brauche. Letztendlich sind diese Fehler schädlich ODER muss ich sie beheben?
Der erste Cron-Ausdruck oben, den ich benutzte, fand ich nicht richtig. Der richtige Ausdruck für das Schießen einmal am Tag um Mitternacht ist: @Scheduled (cron = "0 0 0 * *?") – logixplayer