Я получаю путь к файлу в качестве входа в mule внутри xml. Используя выражение XPATH, я могу извлечь путь. Я хочу прочитать конкретный файл с этого пути. Я попытался определить конечную точку входящего файла, как показано ниже. Но, похоже, это не работает.Невозможно создать динамическую конечную точку входящего файла в mule
<flow name="flow1">
....
....
<set-session-variable variableName="filePath" value="#[xpath://filePath]" />
<flow-ref name="fileFlow"/>
</flow>
<flow name="fileFlow">
<file:inbound-endpoint path="#[header:SESSION:filePath]" />
</flow>
Мое понимание здесь заключается в том, что никакой код не может быть размещен перед входящей-конечной точкой. Поэтому я определил его в другом потоке. Просьба указать, есть ли способ прочитать файл по указанному пути.
Чтение файлов довольно просто с помощью Groovy, а также. Если вы хотите прочитать текстовый файл в String, вам просто нужно: новый файл (message.getSessionProperty ('filePath')). Или есть какая-то причина предпочесть модуль-запросчик? –
@ Ryan Carter Он работал как магия. Очень полезно – tortoise
@AntonKupias Проблема с использованием прямого доступа к файлам вместо прохождения транспорта Mule File заключается в том, что вы пропускаете всю обработку ошибок, статистику ..., которую добавляет Mule. Поэтому вместо использования необработанного файла перед добавлением модуля requester вам пришлось бы использовать Groovy для вызова 'muleContext.client.request ('file: /// the_file', timeout)' для фактического использования транспорта файлов Mule , –