automaton angepasst, sodass er erfolgreich hochgeladene Dateien vom SFTP löscht

This commit is contained in:
2026-04-30 16:12:46 +02:00
parent b17ce20ee0
commit 30170d85ac
4 changed files with 26 additions and 8 deletions

View File

@@ -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.

View File

@@ -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);
}
}