Как я могу использовать файлы свойств, имеющие свойства моего приложения в WSO2 EI - PullRequest
0 голосов
/ 29 октября 2019

Я хочу использовать файлы свойств в проекте ESB WSO2. Я использую WSO EI 6.5 с Интеграционным профилем.

Чтобы быть более точным

<inboundEndpoint name="main-endpoint" onError="error-handler-flow" protocol="jms" sequence="main-flow" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
    <parameters>
        <parameter name="interval">500</parameter>
        <parameter name="sequential">true</parameter>
        <parameter name="coordination">true</parameter>
        <parameter name="transport.jms.Destination">Main</parameter>
        <parameter name="transport.jms.CacheLevel">3</parameter>
        <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter>
        <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
        <parameter name="java.naming.provider.url">failover:(tcp://localhost:61616)?initialReconnectDelay=100&amp;maxReconnectDelay=5000</parameter>
        <parameter name="transport.jms.SessionAcknowledgement">CLIENT_ACKNOWLEDGE</parameter>
        <parameter name="transport.jms.SessionTransacted">false</parameter>
        <parameter name="transport.jms.ConnectionFactoryType">queue</parameter>
        <parameter name="transport.jms.ContentType">application/json</parameter>
        <parameter name="transport.jms.SharedSubscription">false</parameter>
        <parameter name="transport.jms.ResetConnectionOnPollingSuspension">false</parameter>
    </parameters>
</inboundEndpoint>

В вышеуказанной входящей конечной точке мне бы хотелось, чтобы имя очереди (transport.jms.Destination) и посредникURL (java.naming.provider.url) для чтения из файла свойств, который поддерживается для каждой среды (qa, staging, production). Сами файлы свойств не являются частью приложения CAR.

Я полагаю, что это можно сделать с помощью реестра, однако я не уверен и не могу это сделать в течение достаточно долгого времени.

Обратите внимание, что я не хочу писать какие-либо пользовательские классы или сценарии для этого. Я надеюсь, что в WSO2 ESB есть доступный способ чтения внешних файлов свойств. Любая помощь будет принята с благодарностью. Спасибо.

1 Ответ

0 голосов
/ 30 октября 2019

Локальный реестр действует как реестр памяти, где вы можете хранить статическое содержимое в виде пары ключ-значение, где значением может быть статическая запись, такая как текстовая строка, код XML или URL-адрес. Это полезно для типа статического содержимого, часто встречающегося в файлах XSLT, файлах WSDL, URL-адресах и т. Д. На локальные записи можно ссылаться от посредников в потоках передачи профиля ESB и разрешать их во время выполнения.

См. [1]

Элемент используется для объявления записей реестра, которые являются локальными для экземпляра профиля ESB, как показано ниже:

<localEntry key="string" src="url">text | xml</localEntry>

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

synapse:get-property(prop-name)

[1] https://docs.wso2.com/display/EI650/Working+with+Local+Registry+Entries

...