Le printemps de la tâche Planifiée ne démarre pas au démarrage de l'application

J'ai un @Scheduled tâche dans mon application qui est mise en place par CRON et exécuter toutes les 4 heures. Le problème que j'ai faire face est que la CRON travail ne démarre pas immédiatement après le démarrage de l'application, mais il commence seulement 4 heures après le démarrage de l'application.

J'ai essayé d'utiliser un @PostConstruct méthode à l'intérieur de la tâche de l'invoquer, mais qui résulte en une erreur due à un non initialisée Printemps contexte.

S'il vous plaît dites-moi comment je peux faire la tâche Planifiée s'exécute immédiatement sur le déploiement de l'application, puis sur toutes les 4 heures après le déploiement.

EDIT:

Je ne voudrais pas utiliser un @PostConstruct depuis mon prévue de la méthode dépend d'autres graines qui ne sont pas initialisés lors de cette PostConstruct méthode fonctionne pour une raison quelconque.

  • Double Possible de méthode Execute au démarrage au printemps
  • J'ai essayé @PostContruct mais il a toujours jeté un Échec du chargement du contexte de l'application de l'exception
  • Pourquoi ne pas avoir prévu deux méthodes, l'une appelant l'entreprise code au démarrage d'un fixedDelay de Long.maxValue et l'autre avec un cron annotation à l'appeler régulièrement toutes les 4 heures? Vous devez tenir votre code dans une méthode distincte.
  • oui, cela semble être une option possible. mais qui sonne plus comme un hack 🙁
InformationsquelleAutor v1shnu | 2017-02-15