我有一个关于使用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生成锁定文件。不幸的是,读取文件的其余部分未附加到文件中。
有人知道我的配置有什么问题吗?
亲切的问候,
的Heiko
答案 0 :(得分:0)
您需要使用文件地址URI设置transport.vfs.Append = true参数,以便附加到输出文件[1]。
<address uri="vfs:file:///poc/services/inbound?transport.vfs.Append=true"/>
将其配置为VFS属性时,它不起作用。