Как получить доступ к системному свойству из WSO2 ESB и реестра

Моя прокси-служба WSO2 ESB ссылается на конечную точку, которая расположена по разным URL-адресам в разных средах - DEV, TEST, PROD. Согласно документации WSO2, мне нужно сохранить определение конечной точки в реестре управления и изменить URL-адрес в XML-файле конечной точки в каждой среде. Это может работать нормально для организаций с 1 или 2 прокси, но становится значительными накладными расходами для 10+ прокси.

Другой сценарий - когда мне нужно прочитать определенные свойства среды в моей последовательности ESB.

Есть ли способ определить набор свойств во внешнем файле * .properties, а затем прочитать их в определениях ESB и реестра?


person Alex Yakimovich    schedule 04.03.2013    source источник


Ответы (2)


Вы можете получить доступ к свойствам системы внутри последовательностей ESB / прокси-сервисов, используя посредник сценария, как показано ниже;

    <script language="js">mc.setProperty("file.separator",java.lang.System.getProperty("file.separator"));</script>
    <log level="custom">
       <property name="file.separator" expression="get-property('file.separator')"/>
    </log>

Здесь свойство file.separator устанавливается как свойство в контексте сообщения внутри посредника сценария и может использоваться в последующих посредниках.

Вы также можете получить доступ к свойствам, определенным в файле в реестре ESB. Например, если у вас есть файл в реестре конфигурации (test.xml) со следующим содержимым,

<a>Helloo<b>World</b></a>

К текстовому элементу "World" в <b> можно получить доступ с помощью посредника свойств следующим образом:

<property name="test" expression="get-property('registry','conf:/test.xml')" scope="default" type="OM"/>
<log level="custom">
      <property name="test.b" expression="$ctx:test//b"/>
</log>
person CharithaM    schedule 07.03.2013
comment
Спасибо, Чарита! Это решает мою проблему с доступом к внешним свойствам из последовательностей. Однако похоже, что URL-адрес конечной точки не может использовать свойства через функцию get-property. Есть ли способ сделать эти атрибуты управляемыми свойствами? - person Alex Yakimovich; 07.03.2013
comment
Вы можете определить URL-адрес конечной точки во время выполнения, задав значение в заголовке. Это может вам помочь: stackoverflow.com/questions / 15876410 / - person lsantsan; 24.03.2015

вот запись в блоге о том, как получить доступ ресурсы реестра из classmeditor 1. Вы можете получить доступ к любым ресурсам, упомянутым в сообщении, и внести изменения.

Точно так же вы можете сохранить файл внешних свойств и прочитать его из classmeditor и установить все свойства в контексте сообщения synapse с помощью class meditaor.

person Ratha    schedule 07.03.2013