Mule 4 sftp read file - стратегия повторного подключения не работает

Я пытаюсь прочитать файл из местоположения SFTP. Я использую Mule 4.4 Community edition. Если при подключении к SFTP-серверу возникает какая-либо ошибка или файл отсутствует, муле повторит попытку 2 раза.

Поэтому я настроил в sftp-коннекторе: «Стратегия повторного подключения» как «Стандартная».

Однако журналы не показывают каких-либо повторных попыток. ПРИМЕЧАНИЕ. В идеале это будет запущено в запланированное время (планировщик), но в целях тестирования я использую прослушиватель HTTP для вызова потока.

Вот код:

<sftp:config name = "SFTP_Config" doc:name = "SFTP Config">
        <sftp:connection host = "abcd" username = "xyz" password = "pwd" />
    </sftp:config>

<flow name = "get:employee">
        <logger level = "INFO" doc:name = "Logger"  message = "starting search" category = "get-employee"/>
        
                <sftp:read doc:name = "Read"  config-ref = "SFTP_Config" path = "/a/employees.unl">
            <repeatable-in-memory-stream />
            <reconnect />
        </sftp:read>
        <error-handler ></error-handler>    
</flow>

Интересно, делаю ли я что-то не так? Я бы хотел, чтобы поток или, по крайней мере, чтение файла было предпринято дважды, прежде чем возникнет ошибка.

В настоящее время, когда файл не существует в папке sftp, он просто выдает ошибку:

Message : Path '/a/employees.unl' doesn't exist

Error type : SFTP:ILLEGAL_PATH

когда вступает в силу стратегия повторного подключения? Спасибо

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
13
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Стратегии повторного подключения предназначены для соединений, а не для неудачных операций. В вашем примере соединение работает нормально. Операция завершается ошибкой, так как каталог не существует.

Для операций вы должны поместить операцию в область действия <until-successful>. Вы можете использовать атрибут maxRetries, чтобы указать количество повторных попыток.

Документация: https://docs.mulesoft.com/mule-runtime/4.4/до успешного завершения

спасибо, реализуем «до успешного завершения» и попробуем, так когда же мул попытается переподключиться? произойдет ли это, если мул не сможет подключиться к sftp, поэтому он повторит попытку подключения 2 раза, я думаю, мне не ясно, когда я буду использовать «стратегии повторного подключения»?

GettingStarted With123 11.05.2022 14:46

Некоторым соединителям необходимо установить соединение с удаленной стороной. Например, соединитель базы данных, соединитель SFTP и т. д. Они управляют соединением внутри. Если это соединение не удается, применяется стратегия повторного подключения. Ошибки, связанные с проблемами подключения, обычно не могут быть обнаружены с помощью обработки ошибок Mule.

aled 11.05.2022 15:03

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