WSO2 ESB — динамическое значение для параметров прокси (транспорт)

Мне нужно иметь возможность указать динамическое значение для параметра прокси. На самом деле, я должен указать каждый параметр с полным URL-адресом, например:

<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>

Я вижу несколько примеров с посредником свойств, и я думаю, что он работает для следующих прокси, но проблема здесь в том, что мне нужно изменить значение параметров прокси перед его выполнением, я думаю. Я попытался с «триггерным» прокси-сервером, вызывающим настраиваемый посредник, который меняет SynapseConfiguration требуемого прокси-сервера, но это не сработало.

Есть ли способ заменить эти фиксированные значения поиском, чтобы создать некоторую конфигурацию развертывания?

Большое спасибо.


person Loïc    schedule 20.06.2012    source источник


Ответы (2)


Параметры в определениях службы прокси являются параметрами уровня службы, которые находятся в конфигурации Axis2Service. Они используются при инициализации Axis2Service, в данном случае это прокси-служба Synapse/WSO2 ESB. Таким образом, вы не можете динамически изменять параметры на лету.

Но я могу предложить следующий подход. Это может или не может быть применимо к вашему сценарию.

Имейте набор прокси-серверов VFS, которые прослушивают отдельные местоположения. Каждый будет смотреть на данное расширение файла. (один для .txt, один для .foo и т.д..)

Используйте другой универсальный прокси-сервер vfs для динамического копирования файлов в правильные места (который принимает любое расширение). (Вы можете использовать отправителя vfs).

Надеюсь это поможет.

привет, Чарит

person CharithWiki    schedule 21.06.2012
comment
Спасибо за ответ. Я попытался сделать триггерный прокси с собственным посредником (всегда работающим), чтобы изменить conf. других прокси. Примерно так: ProxyService proxy = mc.getConfiguration().getProxyService(proxyName); Map<String, Object> parameters = proxy.getParameterMap(); if(proxy.isRunning()){ proxy.stop(mc.getConfiguration()); } proxy.getParameterMap().put("transport.vfs.FileURI",".."); proxy.start(mc.getConfiguration()); Видимо прокси останавливается и перезагружается, но модификации не принимаются (не знаю почему). Может ли это быть возможным обходным путем? С уважением, Лоик - person Loïc; 21.06.2012

Вы можете проверить этот пост Как динамически маршрутизировать сообщения в WSO2 ESB на основе файла конфигурации XML, например, как динамически устанавливать значения в последовательности прокси.

Вы можете сделать что-то это:

<parameter name="transport.vfs.FileNamePattern">
    <script language="js">mc.getProperty('MY_DYNAMIC_VALUE')</script>
</parameter>

Я не уверен, что это вам сильно поможет, так как подозреваю, что параметры vfs задаются при инициализации прокси, а не на лету. Если вы попробуете, если возможно, пожалуйста, отпишитесь в этой теме, если это работает или нет.

С уважением, Нидкил

person nidkil    schedule 20.06.2012
comment
Спасибо за Ваш ответ. Я тестировал, но это не работает. Пример с посредником сценария обращается к свойству, которое было определено с помощью посредника свойств ранее. Странно, что нет функции для простого создания динамической конфигурации. С уважением, Лоик - person Loïc; 21.06.2012
comment
Этот ответ не работает - параметр будет установлен на полный ‹язык сценария ... Здесь нельзя использовать сценарий. - person Petteri Pertola; 07.03.2019