diff --git a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java index 81013af4c..e92739815 100644 --- a/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java +++ b/clearing-parent/lim-exporter/src/main/java/ru/spcex/clearing/lim/exporter/services/AbstractExporterService.java @@ -12,6 +12,7 @@ import ru.spcex.clearing.lim.exporter.config.SFTPConfig; import ru.spcex.clearing.platform.messaging.domain.cud.utilities.LimExportedRequest; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; +import ru.spcex.platform.utils.log.ExceptionUtils; import java.io.File; import java.io.IOException; @@ -52,13 +53,18 @@ public abstract class AbstractExporterService { Path limFilePath = limFile.toPath(); try { + // todo возможная оптимизация: посмотреть размеры файлов, возможно обойтись без временного файла Files.write(limFilePath, getLimFileRows()); gateway.sendToSftp(limFile); - - Files.deleteIfExists(limFilePath); } catch (IOException e) { log.error("Failed export {} file", fileName); throw new RuntimeException(e); + } finally { + try { + Files.deleteIfExists(limFilePath); + } catch (IOException e) { + log.warn("Can not delete temp file \"{}\": {}", limFilePath, ExceptionUtils.getStackTrace(e)); + } } log.debug("Successfully exported {} file", fileName);