SFTP при создании или обновлении выдает ошибку Pipe close

Я использую источник «При создании или обновлении» соединителя Mule 4 SFTP для обработки файлов из каталога SFTP-сервера. Процесс работает нормально, однако при чтении последнего файла SFTP-коннектор выдает ошибку, как показано ниже, и файл остается в каталоге, ожидая загрузки следующего расписания, и то же самое произойдет с последним файлом другого нового набора файлов. .

Любые мысли о том, как решить эту проблему?

ОШИБКА:

      11:20:45.315     05/04/2022     Worker-0     [MuleRuntime].uber.27: [sftp-demo-app].prcsACKFiles-Error-SuccessFlow.CPU_INTENSIVE @1648077b     ERROR
event:c458bc90-cbbd-11ec-85e2-06a565d43154 
********************************************************************************
Message               : "org.mule.weave.v2.module.reader.ReaderParsingException: org.mule.runtime.api.exception.MuleRuntimeException - Exception was found trying to retrieve the contents of file /home/messages/file_8ddb7674.json
org.mule.runtime.api.exception.MuleRuntimeException: Exception was found trying to retrieve the contents of file /home/messages/file_8ddb7674.json
    at org.mule.extension.sftp.internal.connection.SftpClient.exception(SftpClient.java:427)
    at org.mule.extension.sftp.internal.connection.SftpClient.exception(SftpClient.java:423)
    at org.mule.extension.sftp.internal.connection.SftpClient.getFileContent(SftpClient.java:349)
    at org.mule.extension.sftp.internal.connection.SftpFileSystem.retrieveFileContent(SftpFileSystem.java:117)
    at org.mule.extension.sftp.internal.SftpInputStream$SftpFileInputStreamSupplier.getContentInputStream(SftpInputStream.java:111)
    at org.mule.extension.sftp.internal.SftpInputStream$SftpFileInputStreamSupplier.getContentInputStream(SftpInputStream.java:93)
    at org.mule.extension.file.common.api.AbstractConnectedFileInputStreamSupplier.getContentInputStream(AbstractConnectedFileInputStreamSupplier.java:81)
    at org.mule.extension.file.common.api.AbstractFileInputStreamSupplier.get(AbstractFileInputStreamSupplier.java:65)
    at org.mule.extension.file.common.api.AbstractFileInputStreamSupplier.get(AbstractFileInputStreamSupplier.java:33)
    at org.mule.extension.file.common.api.stream.LazyStreamSupplier.lambda$new$1(LazyStreamSupplier.java:29)
    at org.mule.extension.file.common.api.stream.LazyStreamSupplier.get(LazyStreamSupplier.java:42)
    at org.mule.extension.file.common.api.stream.AbstractNonFinalizableFileInputStream.lambda$createLazyStream$0(AbstractNonFinalizableFileInputStream.java:48)
    at $java.io.InputStream$$EnhancerByCGLIB$$55e4687e.read(<generated>)
    at org.apache.commons.io.input.ProxyInputStream.read(ProxyInputStream.java:102)
    at org.mule.runtime.core.internal.streaming.bytes.AbstractInputStreamBuffer.consumeStream(AbstractInputStreamBuffer.java:111)
    at com.mulesoft.mule.runtime.core.internal.streaming.bytes.FileStoreInputStreamBuffer.consumeForwardData(FileStoreInputStreamBuffer.java:239)
    at com.mulesoft.mule.runtime.core.internal.streaming.bytes.FileStoreInputStreamBuffer.consumeForwardData(FileStoreInputStreamBuffer.java:202)
    at com.mulesoft.mule.runtime.core.internal.streaming.bytes.FileStoreInputStreamBuffer.doGet(FileStoreInputStreamBuffer.java:125)
    at org.mule.runtime.core.internal.streaming.bytes.AbstractInputStreamBuffer.get(AbstractInputStreamBuffer.java:93)
    at org.mule.runtime.core.internal.streaming.bytes.BufferedCursorStream.assureDataInLocalBuffer(BufferedCursorStream.java:126)
    at org.mule.runtime.core.internal.streaming.bytes.BufferedCursorStream.doRead(BufferedCursorStream.java:101)
    at org.mule.runtime.core.internal.streaming.bytes.AbstractCursorStream.read(AbstractCursorStream.java:124)
    at org.mule.runtime.core.internal.streaming.bytes.BufferedCursorStream.read(BufferedCursorStream.java:26)
    at java.io.InputStream.read(InputStream.java:101)
    at org.mule.runtime.core.internal.streaming.bytes.ManagedCursorStreamDecorator.read(ManagedCursorStreamDecorator.java:96)
    at org.mule.weave.v2.el.SeekableCursorStream.read(MuleTypedValue.scala:306)
    at org.mule.weave.v2.module.reader.UTF8StreamSourceReader.handleBOM(SeekableStreamSourceReader.scala:179)
    at org.mule.weave.v2.module.reader.UTF8StreamSourceReader.readAscii(SeekableStreamSourceReader.scala:163)
    at org.mule.weave.v2.module.json.reader.JsonTokenizer.$init$(JsonTokenizer.scala:21)
    at org.mule.weave.v2.module.json.reader.indexed.IndexedJsonTokenizer.<init>(IndexedJsonTokenizer.scala:15)
    at org.mule.weave.v2.module.json.reader.indexed.IndexedJsonParser.parser(IndexedJsonParser.scala:17)
    at org.mule.weave.v2.module.json.reader.JsonReader.readValue(JsonReader.scala:40)
    at org.mule.weave.v2.module.json.reader.JsonReader.doRead(JsonReader.scala:30)
    at org.mule.weave.v2.module.reader.Reader.read(Reader.scala:35)
    at org.mule.weave.v2.module.reader.Reader.read$(Reader.scala:33)
    at org.mule.weave.v2.module.json.reader.JsonReader.read(JsonReader.scala:20)
    at org.mule.weave.v2.el.MuleTypedValue.value(MuleTypedValue.scala:147)
    at org.mule.weave.v2.model.values.wrappers.DelegateValue.valueType(DelegateValue.scala:17)
    at org.mule.weave.v2.model.values.wrappers.DelegateValue.valueType$(DelegateValue.scala:16)
    at org.mule.weave.v2.el.MuleTypedValue.valueType(MuleTypedValue.scala:177)
    at org.mule.weave.v2.model.types.ObjectType$.accepts(Type.scala:1068)
    Caused by: org.mule.extension.sftp.api.SftpConnectionException: Error occurred while trying to connect to host
    ... 112 more
Caused by: org.mule.runtime.api.connection.ConnectionException: 
    at org.mule.extension.sftp.api.SftpConnectionException.<init>(SftpConnectionException.java:38)
    ... 112 more
Caused by: org.mule.runtime.api.connection.ConnectionException: 
    ... 112 more
Caused by: 4: 
    at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1540)
    at com.jcraft.jsch.ChannelSftp.get(ChannelSftp.java:1290)
    at org.mule.extension.sftp.internal.connection.SftpClient.getFileContent(SftpClient.java:347)
    ... 110 more
Caused by: java.io.IOException: Pipe closed

1 ответ

Ошибка Pipe closedв SFTP указывает на ошибку связи, которую не может устранить соединитель SFTP, поэтому операция завершается сбоем. Я не верю, что с этим можно что-то сделать. На всякий случай вы можете попробовать протестировать более новую версию коннектора, если используете более старую.

Другие вопросы по тегам