Ich habe eine Anwendung, in der ich ein Quartz Scheduler
-Objekt verwenden möchte. Ich habe die Spring-Dokumentation diesbezüglich gelesen und sie schlagen vor, ein SchedulerFactoryBean
wie folgt zu verwenden:
Die Konfiguration sieht so aus:
%Vor% Wenn ich schedulerFactoryBean
in eines meiner Objekte injizieren möchte, bekomme ich eine Ausnahme mit:
Could not convert constructor argument value of type [org.quartz.impl.StdScheduler] to required type [org.springframework.scheduling.quartz.SchedulerFactoryBean]:
Warum bekomme ich StdScheduler
statt schedulerFactoryBean
? Vermisse ich einen Konfigurationsschritt?
A SchedulerFactoryBean
ist ein FactoryBean
, also kann nicht wie eine normale Bohne verwendet werden . Wenn Sie es in andere Beans injizieren, injiziert Spring das org.quartz.Scheduler
-Objekt, das von der Fabrik produziert wird. Es injiziert nicht die Fabrik selbst.
Es ist üblich, die Factory-Bean nach dem von ihr erstellten Objekt zu benennen, da sie besser lesbar ist, wenn Sie sie referenzieren. Zum Beispiel:
%Vor% Dann können Sie ein Objekt konfigurieren, das ein Scheduler
wie folgt benötigt:
Oder verwenden Sie Anmerkungen:
%Vor%Tags und Links java spring quartz-scheduler