web-dev-qa-db-de.com

Wie kann ich den Ordner/das Verzeichnis im Frühjahr überwachen?

Ich möchte im Frühjahr keine Spring Boot-Anwendung schreiben, die das Verzeichnis in Windows überwacht. Wenn ich den Unterordner ändere, einen neuen hinzufüge oder einen vorhandenen lösche, möchte ich Informationen darüber erhalten.

Wie kann ich das machen? Ich habe folgendes gelesen: http://docs.spring.io/spring-integration/reference/html/files.html und jedes Ergebnis unter 'spring file watcher' in Google, aber ich kann keine Lösung finden ...

Haben Sie einen guten Artikel oder ein gutes Beispiel mit so etwas? Ich will es nicht so mögen:

@SpringBootApplication
@EnableIntegration
public class SpringApp{

    public static void main(String[] args) {
        SpringApplication.run(SpringApp.class, args);
    }

    @Bean
    public WatchService watcherService() {
        ...//define WatchService here
    }
}

Grüße

4
amkz

Siehe den Spring Integration Samples Repo es gibt ein Dateibeispiel unter 'basic'.

Es gibt ein neueres und komplexeres Beispiel unter Anwendungen file-split-ftp - es verwendet Spring Boot und Java-Konfiguration Vs. die im älteren Beispiel verwendete XML.

2
Gary Russell

Sie können reines Java verwenden, ohne spring https://docs.Oracle.com/javase/tutorial/essential/io/notification.html

1
Sławomir Czaja

Nur für den Fall, dass jemand nach einem rekursiven Unterordner-Watcher sucht, kann dieser Link helfen: Wie man einen Ordner und Unterordner auf Änderungen überwacht

0
Sanket Mehta

Ohne die Details hier ein paar Hinweise zu geben, die Ihnen helfen könnten.

Den Code für das Verzeichnis WatchService entnehmen Sie bitte der Antwort von Sławomir Czaja:

Sie können reines Java verwenden, ohne spring https://docs.Oracle.com/javase/tutorial/essential/io/notification.html

und wickeln Sie diesen Code in eine ausführbare Aufgabe. Diese Task kann Ihre Clients über Verzeichnisänderungen unter Verwendung der SimpMessagingTemplate benachrichtigen, wie hier beschrieben: Websocket STOMP-Handle send

Dann können Sie einen Scheduler wie hier beschrieben erstellen: Scheduling , der den Start und die erneute Ausführung Ihrer Aufgabe übernimmt.

Vergessen Sie nicht, Scheduling und Websocket-Unterstützung in Ihrer mvc-config sowie STOMP-Unterstützung auf der Client-Seite zu konfigurieren (weitere Informationen finden Sie hier: STOMP über Websocket ).

0
s.ijpma