В Mulesoft, как остановить SFTP-соединитель для чтения файла, когда ActiveMQ пытается восстановить соединение - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть надежный поток сбора данных, когда входящий SFTP-соединитель опрашивает и читает файл и публикует его в JMS ActiveMq. У меня есть проблема, когда ActiveMQ не работает. Соединитель JMS входит в режим переподключения, скажем, каждую минуту, но SFTP активно читает файлы и пытается опубликовать sh файл в ActiveMq. что приводит к потере сообщений, а концепция очереди недоставленных сообщений также не работает, поскольку JMS не работает.

Есть ли способ остановить чтение файла, пока JMS не будет успешно восстановлен? также, что, если сообщение было в полете, и JMS выключился прежде, чем сообщение попадет в очередь? будет откат сообщения?

Я использую Mule 3.9

1 Ответ

0 голосов
/ 23 апреля 2020

Если вы установите стратегию обработки потока на синхронный и используете только 1 поток приемника в конфигурации соединителя. Тогда он не должен пытаться прочитать новый файл, если предыдущий не был обработан. Без этих изменений это не правильная реализация надежного шаблона.

Дополнительная информация:

Пример:

<sftp:connector name="sftpConn">
    <receiver-threading-profile maxThreadsActive="1" />
</sftp:connector>

<flow name="mainFlow" processingStrategy="synchronous">
    ...
...