Сценарий следующий: я разработал простой поток в Anypoint Studio (IDE на основе eclipse), который считывает файл из сетевого местоположения, обрабатывает дату и затем записывает данные в базу данных. Я проверил, что он работает, а затем опубликовал его во время выполнения Mule ESB. IDE разработки и среда выполнения находятся на двух разных машинах, на обеих Windows Server 2008 R2.
Проблема в том, что моя программа не может читать файлы из среды выполнения Mule ESB, что вызывает проблемы с разрешениями.
Минимум знаний об архитектуре Mule ESB. (Для среды выполнения) Mule Enterprise ESB (mmc-distribution-mule-console-bundle-3.5.2-HF1) поставляется со встроенным сервером Tomcat, а Mule> Startup.bat имеет следующие два оператора для вызова tomcat startup.bat
Компакт-диск mmc-3.5.2-HF1 \ apache-tomcat-7.0.52 START / B bin \ startup.bat
Исследования, проведенные на данный момент (на компьютере выполнения) - я загрузил новую копию Tomcat, создал простой развертываемый проект в Eclipse JUNO IDE, который будет получать доступ к файлам из сетевого расположения, запустил этот tomcat от имени администратора и увидел, что мое приложение чтение файлов оттуда. Это показывает, что проблема не в Tomcat, разрешении на сетевом диске или приложении. - Я могу получить доступ к сетевому расположению из IE, подключенного диска, проводника Windows и т. Д. - Я вошел в систему как администратор. - Контроль доступа Windows UAC уже отключен. - Я много гуглил по двум приведенным выше командам DOS. В настоящее время Mule> startup.bat использует команду START для запуска tomcat, и я хотел заменить ее некоторой командой, которая может запускать tomcat как пользователь-администратор. Я обнаружил, что runAs делает это. Однако я заменил приведенные выше команды на runas, тогда он не принимает пароль в качестве параметра командной строки, и, следовательно, мне не удалось успешно запустить приложение MMC (консоль управления Mule). - Я подключил сетевой диск локально, но мое приложение в Mule> Tomcat не может прочитать файл. - Я предоставил доступ к сетевой папке всем, так что это не проблема разрешения доступа к сетевой папке. - Я уже поднимал этот вопрос в MuleSoft. - Mule запустил сервер TCAT, который является еще одним лицензионным продуктом, и запускает tomcat как службу Windows. Однако я не понимаю, как запуск Tomcat в качестве службы может исправить 2 приведенных выше оператора в файле mule> startup.bat. - мое приложение в среде mule> tomcat может получить доступ только к C: \
В простом выражении решение этого будет - Mule> startup.bat должен вызывать tomcat> startup.bat как администратор, а не как СИСТЕМА.
У меня закончились идеи. Кто-нибудь хочет предложить то, чего я еще не пробовал?
С уважением, Рашми