Как я могу запустить некоторый код, если просматриваемая папка не существует? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть поток Mule 4, который использует источник событий [File] On New or Updated File. Этот элемент настроен на ожидание изменений файла в указанной папке c.

Когда я развертываю свой поток, а развернутое приложение не имеет доступа к указанной папке, создается сообщение журнала, и поток прекращается. Тем не менее, я хотел бы добавить дополнительную обработку в этом случае. (Я хотел бы записать сообщение в альтернативный журнал событий).

Я пытался добавить элемент On Error Propagate в поток, но это не срабатывает при возникновении ошибки - я думаю, это потому, что ошибка - системная ошибка , а не ошибка обмена сообщениями .

Если бы я мог добавить шаг перед элементом On New or Updated File, тогда я может проверить наличие папки и выполнить там дополнительный код - но я также не вижу способа сделать это.

Ответы [ 2 ]

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

Могу ли я предложить вам отслеживать папку, которая не должна содержать ни одной существующей папки? Например, вы хотите контролировать /one/two/three/abc.txt. три не существует. Следите за two для новых и обновленных файлов.

0 голосов
/ 17 февраля 2020

Ну, я смог сделать что-то, что "работает". Я создал еще один поток, работающий с (длинным) таймером, который запускается немедленно и проверяет наличие папки, пытаясь перечислить ее содержимое. Если это не удается, то достигается блок On Error ... этого потока, поскольку в этом случае ошибка рассматривается как ошибка обмена сообщениями, а не системная ошибка.

Не идеальное решение, но, тем не менее, решение.

...