Значения параметра DBLookup в качестве записей реестра не работают

WSO2 EI 6.3.0

Значения параметра DBLookup в качестве записей реестра оцениваются как литералы. Я прочитал https://docs.wso2.com/display/EI630/DBLookup+Mediator но у меня не работает.

Моя конфигурация dblookup

<dblookup description="Checking historical">
    <connection>
        <pool>
            <driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
            <url>jdbc:sqlserver://localhost:1433;databasename=test</url>
            <user>conf:/custom/config.xml/database/user</user>
            <password>somepass</password>
        </pool>
    </connection>
    <statement>
        <sql><![CDATA[SELECT * FROM someTable]]></sql>
    </statement>
</dblookup>

и исключение

org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Login failed for user 'conf:/custom/config.xml/database/user'

person Leandro Gianotti    schedule 23.08.2018    source источник


Ответы (1)


Имя пользователя, которое вы используете, не будет работать по этой причине.

 <user>conf:/custom/config.xml/database/user</user>

Поле пользователя пытается прочитать значение, сохраненное в файле, здесь вы читаете из config.xml, однако позже вы указываете относительный путь в .xml, поэтому это не сработает.

Я бы посоветовал вам сохранить имя пользователя в файле реестра, а затем получить доступ к имени пользователя, это должно работать.

person amg_amit    schedule 24.08.2018