首页 文章

使用WSO2 VFS传输流式传输大型文件

提问于
浏览
0

我有一个关于使用WSO2 ESB和VFS传输的大型文件流的问题 . 我已经设置了一个从FTP位置读取文件的代理 . 此文件应通过WSO2流式传输并写入目标位置 . 为了激活流,我在发送方将transport.vfs.Streaming参数设置为“true”,并且我在接收方声明了相应的属性 .

<proxy xmlns="http://ws.apache.org/ns/synapse" name="LargeFileTestProxy" transports="vfs" startOnLoad="true" trace="disable">
<target>
    <inSequence>
        <property xmlns:ns2="http://org.apache.synapse/xsd" name="transport.vfs.ReplyFileName" expression="fn:concat(fn:substring-after(get-property('MessageID'), 'urn:uuid:'), '.xml')" scope="transport" type="STRING"/>
        <property name="transport.vfs.Streaming" value="true" scope="transport" type="STRING"/>
        <property name="transport.vfs.Append" value="true" scope="transport" type="STRING"/>
        <property name="OUT_ONLY" value="true" scope="default" type="STRING"/>
        <send>
            <endpoint>
                <address uri="vfs:file:///poc/services/inbound"/>
            </endpoint>
        </send>
    </inSequence>
    <outSequence/>
    <faultSequence/>
</target>
<parameter name="transport.vfs.Streaming">true</parameter>
<parameter name="transport.PollInterval">1</parameter>
<parameter name="transport.vfs.FileURI">vfs:ftp://admin:admin@localhost</parameter>
<parameter name="transport.vfs.FileNamePattern">.*\.xml</parameter>
<parameter name="transport.vfs.ContentType">application/xml</parameter>

传输的文件部分写入目标目录,WSO2生成锁定文件 . 不幸的是,读取文件的其余部分未附加到文件中 .

有人知道我的配置有什么问题吗?

亲切的问候,

海科

1 回答

  • 0

    您需要使用文件地址URI设置transport.vfs.Append = true参数,以便附加到输出文件[1] .

    <address uri="vfs:file:///poc/services/inbound?transport.vfs.Append=true"/>
    

    将其配置为VFS属性时,它不起作用 .

    [1] http://docs.wso2.org/display/ESB450/VFS+Transport

相关问题