WSO2 EI Registry(/_system/config/repository) 在代理服务参数中访问的值

WSO2 EI Registry(/_system/config/repository) values to be accessesd in proxy-service parameters

定义了代理服务并需要从注册表访问服务参数。以下语法无效。

<parameter name="transport.vfs.FileURI">"conf:/repository/FileLocation"</parameter>
<parameter name="transport.vfs.MoveAfterFailure">"conf:/repository/FileMoveAfterFailure"</parameter>
<parameter name="transport.vfs.FileNamePattern">"conf:/repository/FilePattern"</parameter>
<parameter name="transport.vfs.MoveAfterProcess">"conf:/repository/FileMoveAfterProcess"</parameter>

如何访问 /_system/config/repository 下的注册表值以用于代理服务参数?

据我所知你不能,唯一的选择是创建一个 "file" 入站端点

<inboundEndpoint name="test_Inbound" protocol="file" sequence="test_Process" suspend="false" xmlns="http://ws.apache.org/ns/synapse">
    <parameters>
        <parameter name="interval">5000</parameter>
        <parameter name="sequential">true</parameter>
        <parameter name="coordination">true</parameter>
        <parameter name="transport.vfs.ContentType">text/plain</parameter>
        <parameter name="transport.vfs.LockReleaseSameNode">false</parameter>
        <parameter name="transport.vfs.AutoLockRelease">false</parameter>
        <parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
        <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
        <parameter key="conf:/repository/FileLocation" name="transport.vfs.FileURI"/>
        <parameter key="conf:/repository/FileMoveAfterFailure" name="transport.vfs.MoveAfterFailure"/>
        <parameter name="transport.vfs.DistributedLock">false</parameter>
        <parameter key="conf:/repository/FilePattern" name="transport.vfs.FileNamePattern"/>
        <parameter key="conf:/repository/FileMoveAfterProcess" name="transport.vfs.MoveAfterProcess"/>
        <parameter name="transport.vfs.Locking">disable</parameter>
        <parameter name="transport.vfs.CreateFolder">true</parameter>
        <parameter name="transport.vfs.Streaming">false</parameter>
        <parameter name="transport.vfs.Build">false</parameter>
    </parameters>
</inboundEndpoint>

然后你必须按顺序进行处理(test_Process),当然还要适应你的参数(ContentType,间隔,顺序或不顺序......)

我从未尝试过 transport.vfs.FileNamePattern,但对于另一个,我确信它在我使用时可以正常工作。