Компонент Mule Expression не может получить значение из файла свойств
Я хочу получать значения динамически из свойств, поэтому я реализовал один документ. В этом документе я объявил один объект со значением в компоненте выражения mule. После этого я получаю ключ значения из файла свойств. Это показывает исключения при тестировании приложения.
Exception MSG: Root Exception stack trace: unresolvable property or identifier: $
EX-1:
flowVars.deptCode=21432143;
property3=${flowVars.deptCode};
EX-2:
property3=${21432143};
В приведенных выше двух примерах ex-2 работал нормально, а ex-1 не удался.
Пожалуйста, дайте мне знать, если у кого-то есть ясность по этому поводу.
Спасибо, Правин
2 ответа
Вы можете использовать скрипт dataweave для динамического чтения значений из файла свойств
#[dw("p(flowVars.deptCode)")]
Мул использует Spring Properties, которые могут храниться в отдельном файле свойств, а затем извлекаться / использоваться в вашем приложении через ${propertyName}.
Заполнитель свойства используется, чтобы определить, где вы храните эти свойства.
Пример 1 невозможен, потому что свойства вообще не осведомлены о каких-либо переменных или свойствах внутри вашего приложения Mule.
Другая проблема заключается в том, что эти файлы будут загружены при запуске приложения. Если вы измените значение свойства, потребуется перезапуск приложения, поэтому ваш подход не сработает.
Более подробная информация в документации здесь: https://docs.mulesoft.com/mule-user-guide/v/3.8/configuring-properties