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

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

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

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

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

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

3 ответа

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

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

Официальная документация для File Connector гласит:

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

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

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

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

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