我有一个关于使用 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 生成锁定文件。不幸的是,读取文件的其余部分没有附加到文件中。
有人知道我的配置有什么问题吗?
亲切的问候,
平子