Spring Boot @Scheduled cron
Gibt es eine Möglichkeit zu nennen, eine get-Methode (oder auch Variablen) aus einer propertyClass im Frühjahr ist @Scheduled
cron
Konfiguration? Die folgenden nicht kompilieren:
@Scheduled(cron = propertyClass.getCronProperty())
oder @Scheduled(cron = variable)
Ich möchte vermeiden, greifen die Eigenschaft Volltreffer:
@Scheduled(cron = "${cron.scheduling}")
- was über das erstellen einer bean, bekommt diesen Wert, dann autowiring die Bohne in Ihrem cron-Klasse?
- Ist propertyClass eine Bohne, oder einfach nur Klasse enthält statische Methoden?
- eine Bohne.
- Diese Frage behandelt ein anderes problem.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kurze Antwort - es ist nicht möglich aus der box.
Übergebenen Wert als die "cron-Ausdruck" in der
@Scheduled
annotation verarbeitetScheduledAnnotationBeanPostProcessor
Klasse mit einer Instanz derStringValueResolver
- Schnittstelle.StringValueResolver
3-Implementierungen aus der box - fürPlaceholder
(z.B. ${}), fürEmbedded
Werte und fürStatic
Saiten - nichts von dem erreichen können, was Sie suchen.Wenn Sie unter allen Umständen zu vermeiden mit den Eigenschaften Platzhalter in der Beschriftung, die loszuwerden, die annotation und bauen alles programmgesteuert. Sie können sich registrieren, Aufgaben mit
ScheduledTaskRegistrar
- das, was der@Scheduled
annotation eigentlich tut.Werde ich vorschlagen, zu verwenden, was ist die einfachste Lösung, die funktioniert und die tests besteht.
in /src/main/resources/application.Eigenschaften
${my.cron.expression}