Printemps de Démarrage : Arriver @Prévue cron de la valeur à partir de la base de données

Je suis en utilisant Spring Boot et ont des problèmes de la planification d'un cron task à l'aide de valeurs existant dans la base de données.

Pour le moment, je suis en train de lire les valeurs de propriétés de fichier comme ci-dessous :

@Scheduled(cron= "${time.export.cron}")
public void performJob() throws Exception {
   //do something
}

Cela fonctionne très bien, mais au lieu d'obtenir des valeurs de propriétés de fichier, je veux les obtenir à partir de la base de données de la table. Est-il possible, et comment ?

Pour le printemps, il n'a pas d'importance où les propriétés viennent, fichiers, base de données, git tant qu'ils sont en fin de compte des propriétés.
J'ai essayé de mettre en œuvre une méthode qui apporte de la chaîne de valeur à partir de la base de données et essayez d'injecter dans cette chaîne de @Prévue, mais il est dit : La valeur de l'annotation attribut Prévue.cron doit être une expression constante
Vous n'avez pas besoin de changer quoi que ce soit sur le @Scheduled vous avez seulement besoin de récupérer les propriétés de la base de données et les transmettre à l' context:property-placeholder ou si vous utilisez java config utiliser un ApplicationContextInitializer pour ajouter un PropertySource à faire de même.

OriginalL'auteur Daniel | 2016-05-09