0

定义了代理服务,需要从注册表访问服务参数。以下语法不起作用。

<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以在代理服务参数中使用?

4

1 回答 1

1

据我所知你不能,唯一的选择是创建一个“文件”入站端点

<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、interval、sequential or not....)

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

于 2017-10-26T11:58:02.047 回答