2016-04-06 9 views
1

Wir haben Job, der Dateien von 5 Uhr abends bis 5 Uhr am nächsten Tag Morgen abfragt. Wir verarbeiten nur Dateien, die während dieses Zeitraums geliefert werden, und was noch übrig ist, wird im nächsten Fenster verarbeitet.Frühling Integration Poller Ignorieren Tag Licht sparen

Aber vor kurzem haben wir festgestellt, dass wir Dateien auch nach 5 Uhr morgens bis 6 Uhr morgens verarbeitet haben. Nun ist unser Cron-Ausdruck (0/30 * 0-5,17-23 * * *) so konfiguriert, dass er um 5 Uhr morgens gestoppt werden sollte, aber nicht vor 6 Uhr morgens gestoppt wurde.

Das bedeutet, es den Tag Licht Einsparung und

Gibt es jemanden, mit diesem Problem konfrontiert hat vor, bis 06.00 Uhr fortgesetzt ignoriert hat? Oder wissen, was sollte die Lösung sein.

Ich habe den Code für CronTrigger.java überprüft, konnte aber nichts anderes als die Zeitzone finden.

Ich habe auch Zeitzone Setup in unserer Linux-Box überprüft und es ist EDT.

Mi 6. April 10.59.47 EDT 2016

Antwort

0

Die CronTrigger ist ein Teil des Spring Framework, nicht Frühling Integration. Das ist natürlich unbedeutend.

Der CronTrigger Algorithmus basiert auf der CronTab (CronSequenceGenerator), die nicht daylight shifts nicht unterstützt (siehe am Ende dieses Artikels):

Wenn Sie sich in einem der 70-ungerade Länder sind, dass Beobachten Sie die Sommerzeit Zeit, Jobs, die während des Rollbacks oder Fortschritts geplant sind, sind davon betroffen. In allgemein ist es keine gute Idee, Jobs während dieses Zeitraums zu planen.

Sieht aus wie Quarz support, dass für eine Weile schon, aber wir unterstützen Quarz nicht pollers noch. Sie können den Spring Integration-Flow aus dem Quartz Job ähnlich dem <poller> haken.

Von der anderen Seite, bitte, heben Sie ein Ticket für das Spring Framework (https://jira.spring.io/browse/SPR) zu berücksichtigen, um die CronTrigger Sommerzeit zu ergänzen.

Verwandte Themen