2017-05-09 6 views
1

Dies ist das erste Mal, dass ich mit Spring Batch arbeiten werde, und ich habe eine Aufgabe zu tun, wo ich jeden Abend um 00:00 eine geplante Aufgabe ausführen muss, Dadurch wird eine Tabelle in der Datenbank abgeschnitten und erneut gefüllt.Was ist der beste Weg, um einen geplanten Batch mit Spring Boot auszuführen

Ich weiß nicht, was der beste Weg ist, dies zu tun, ich lese ein Tutorial über Aufgaben planen, wo ich eine geplante Funktion erstellt und in dieser Funktion schreibe ich den Code, der meine SQL-Skripte ausführen wird, wie folgt :

@Component 
public class ScheduledTasks { 

    @Scheduled(fixedRate = 5000) 
    public void reportCurrentTime(){ 
     //My code goes here 
    } 
} 

Aber ich weiß nicht, ist dies der beste Weg, es zu tun, da ich in einigen Tutorials gefunden, dass sie mit JobLauncher und etwas namens job-report.xml arbeiten.

Irgendwelche Ratschläge, wie man das schafft?

Antwort

0

Verwenden

@Scheduled(cron="0 0 0 * * *") 

Blick auf https://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html

Vergessen Sie nicht @EnableScheduling Ihrer Konfiguration hinzuzufügen.

+0

Vielen Dank für Ihre Antwort, ich weiß über das 'Cron'-Attribut, was ich mit meiner Frage gemeint habe ist, dass in einigen Tutorials Leute mit' Reader, Processor, Writer' arbeiten und dann eine Konfigurationsdatei erstellen, um Spring zu aktivieren Batch und ein JobLauncher Controller, und ich weiß nicht, ob dies der richtige Weg, um es zu tun oder mit einer "Geplant" Annotation ist genug –

+0

Ich würde nur eine Java-Anwendung außerhalb Spring erstellen und es von der Unix Crontab ausführen. –

Verwandte Themen