automaton angepasst, sodass er erfolgreich hochgeladene Dateien vom SFTP löscht
This commit is contained in:
@@ -131,11 +131,11 @@ public class FileProcessingPipeline {
|
||||
Log.info("Starte OCI-Upload");
|
||||
ociUploadService.uploadFiles(context);
|
||||
|
||||
// --- SFTP Rename → .processed ---
|
||||
// --- SFTP Delete ---
|
||||
// Erst nach erfolgreichem Datei-Upload — Marker kommt danach,
|
||||
// damit Marker-Präsenz in OCI ↔ ZIP bereits .processed auf SFTP.
|
||||
MDC.put("step", "sftp-rename");
|
||||
sftpService.renameFile(zipFilename, zipFilename + ".processed");
|
||||
// damit Marker-Präsenz in OCI ↔ ZIP bereits vom SFTP gelöscht ist.
|
||||
MDC.put("step", "sftp-delete");
|
||||
sftpService.deleteFile(zipFilename);
|
||||
|
||||
// --- OCI Marker ---
|
||||
// Signalisiert der DB-Verarbeitung, dass der Batch vollständig hochgeladen ist.
|
||||
|
||||
@@ -112,10 +112,10 @@ public class SftpService {
|
||||
|
||||
/**
|
||||
* Benennt eine Datei auf dem Remote-SFTP-Server um.
|
||||
* Wird nach Erfolg ({@code .processed}) oder Fehler ({@code .error}) aufgerufen.
|
||||
* Wird nach Fehler ({@code .error}) aufgerufen.
|
||||
*
|
||||
* @param filename aktueller Dateiname, z.B. {@code export_2026-04-08.zip}
|
||||
* @param newFilename neuer Dateiname, z.B. {@code export_2026-04-08.zip.processed}
|
||||
* @param newFilename neuer Dateiname, z.B. {@code export_2026-04-08.zip.error}
|
||||
* @throws SftpException bei Verbindungs- oder Umbenennfehler
|
||||
*/
|
||||
public void renameFile(String filename, String newFilename) throws SftpException {
|
||||
@@ -129,4 +129,20 @@ public class SftpService {
|
||||
});
|
||||
Log.infof("SFTP Rename erfolgreich: '%s'", newFilename);
|
||||
}
|
||||
|
||||
/**
|
||||
* Löscht eine Datei auf dem Remote-SFTP-Server.
|
||||
* Wird nach erfolgreichem Verarbeiten aufgerufen.
|
||||
*
|
||||
* @param filename Dateiname, z.B. {@code export_2026-04-08.zip}
|
||||
* @throws SftpException bei Verbindungs- oder Löschfehler
|
||||
*/
|
||||
public void deleteFile(String filename) throws SftpException {
|
||||
Log.infof("SFTP Delete: '%s'", filename);
|
||||
withSftp(sftp -> {
|
||||
sftp.rm(config.remotePath() + "/" + filename);
|
||||
return null;
|
||||
});
|
||||
Log.infof("SFTP Delete erfolgreich: '%s'", filename);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user