2016-06-08 6 views
1

Ich verwende Spring 4.0.2 mit Java-Konfiguration. Es gibt keine XML-Konfiguration.@Scheduled läuft zweimal mit Spring 4 Java-Konfiguration

Ich habe @Scheduled Annotation für einen Cron-Job. Es läuft zweimal. Kann mir jemand helfen? Das ist es, was ich versuche.

+0

Und wann Sie es _will_, um ernsthaft zu laufen? – Roman

+0

Wenn es zweimal ausgeführt wird, planen Sie es zweimal. Lassen Sie mich raten, Sie haben einen 'ContextLoaderListener' und' DispatcherServlet', die beide Komponenten scannen (oder schlechter) die gleichen Objekte laden. –

Antwort

0

@Scheduled(cron = "1 * * * * ?"): Läuft Ihren Job bei 01 Sekunde jeder (jeder) Minute.

So läuft Ihr Job einmal pro Minute.

Test:

@Scheduled(cron = "1 * * * * ?") 
    public void run(){ 
     System.out.println("Running Test Run : "+DateTime.now()); 
    } 

Ausgang:

Running Test Run : 2016-06-08T20:06:01.019Z 
Running Test Run : 2016-06-08T20:07:01.015Z 
Running Test Run : 2016-06-08T20:08:01.013Z 
Running Test Run : 2016-06-08T20:09:01.011Z 

More info on Spring cron expressions.

+0

Eigentlich Wenn ich Context-Pfad in server.xml kommentieren, wird es nur einmal ausgeführt. –