Printemps merveilleusement offers un zone
attribuer à l'annotation @Scheduled
. Je cherche à fournir la méthode @Scheduled
avec un fuseau horaire par programmation. Par exemple, disons que je veux allumer les lumières des bâtiments de Los Angeles et de Chicago, tous les deux à minuit heure locale. Je veux récupérer les bâtiments de mon dépôt.Comment ajouter un fuseau horaire à @Scheduled par programmation?
Le fuseau horaire peut-il être fourni lors de l'exécution ou autrement injecté?
Comme:
@Scheduled(cron = "0 0 * * * *", zone = {THE_ZONE}) //midnight
public void myScheduledMethod() {
//...
building.toggleLights(); //could be LA or Chicago
}
Je sais que la méthode @Scheduled
ne peut pas prendre des arguments, fournissant ainsi le fuseau horaire de cette façon ne le fera pas.
Quelque chose comme 'zone =" $ {zone.property} "' devrait faire l'affaire. –
Ne tirerait-il pas d'un fichier .properties? Cela vous dérangerait-il de poster une réponse? Pas sûr que je suis. – bphilipnyc
Non, il utilisera un 'PropertyResolver' qui devrait déléguer à' Environment'. –