Mule - IOException: путь: существует, но не является каталогом

Я использую коннектор файлов Mule для чтения файла из общего местоположения. Общее местоположение и моя среда развертывания основаны на Windows. Сопоставил общее расположение в моей среде развертывания как диск J:/ и использовал каталог J:/test.

Я могу просматривать этот каталог из проводника Windows, а также из любого браузера. Но во время развертывания выдает ошибку.

 IOException: Path: J:/test exists but isn't a directory

Примечание. Разрешение на доступ к каталогу разрешено для любого пользователя. Не должно быть проблем с разрешением.

Если я использую любой локальный каталог, например C:/test, он работает нормально.


person ray    schedule 08.05.2018    source источник


Ответы (3)


скорее всего, ваша проблема связана с контекстом безопасности, который выполняет среда выполнения мулов. попробуйте запустить среду выполнения под пользователем вместо учетной записи службы Windows.

person Jake Morgan    schedule 09.05.2018
comment
Да, исключение Path: <foo> exists but isn't a directory обычно возникает, когда среда выполнения Mule не имеет достаточных прав доступа. Однако @ray заявляет, что права доступа установлены правильно. - person Yuri; 24.05.2018

Вы запускаете среду выполнения Mule под каким-то идентификатором. Этот идентификатор на этом конкретном ящике не имеет доступа к этой папке. Предоставьте доступ к этой папке этому ID или используйте другой ID, у которого есть такой доступ.

person Alex    schedule 10.05.2018

Этот вариант использования является распространенным заблуждением при использовании File Connector Mule.

В официальной документации для File Connector указано:

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

По моему опыту, коннектор файлов не поддерживает работу с системами Windows Network с общим доступом (SMB) и NFS.

Решение состоит в том, чтобы получить доступ к данным через сетевой протокол, например. SFTP или JMS. Mule содержит специальные разъемы для них обоих.

person Yuri    schedule 24.05.2018