2017-02-24 2 views
0

Hallo, ich möchte ein cronjob im Frühjahr zu laufen, aber ich muss auch sicherstellen, dass sie sich nicht überlappen, wenn dies möglich läuft. Mit Federverschluß 5,1Frühling @scheduled mit cron aber keine überlappenden crons

@Scheduled(cron="${con}", fixedDelay = 5000) 
public void run(){ 
    some method 
} 

dies nicht offensichtlich ist es eine Möglichkeit, diese

+0

Ja ist es, und der gepostete Code tut genau das, was Sie erwarten, wie erwähnt [hier] (http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/scheduling/ annotation/Scheduled.html # fixedDelay--) –

Antwort

0

Anstatt die Konfiguration nicht überlappende cron zu erhalten, können Sie zu überprüfen, ob die vorherige run-Methode beendet hat, und wenn es nicht hat , beenden Sie die Funktion run().

2

Standardmäßig verwendet Spring einen Executor mit einem einzigen Thread. also werden sich keine @Scheduled-Aufgaben jemals überschneiden.

+0

Word für Word kopieren von https://StackOverflow.com/Questions/24033208/how-to-prevent-overlapping-schedules-in-spring – Kong

Verwandte Themen