我创建了一个代理和序列来从源文件夹中读取文件,然后使用带有VFS的send mediator将其写入目标文件夹。我的代理服务器看起来像这样:
<proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable">
<description/>
<target>
<inSequence>
<property name="filename"
expression="fn:concat(get-property('transport', 'FILE_NAME'), '')"/>
<sequence key="write"/>
<log level="custom">
<property name="finish" value="finish"/>
</log>
</inSequence>
</target>
<parameter name="transport.PollInterval">1</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///after</parameter>
<parameter name="transport.vfs.FileURI">file:///process</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
和我的“写”序列看起来像这样:
<sequence name="write">
<property name="transport.vfs.ReplyFileName"
expression="get-property('filename')"
scope="transport"/>
<property name="OUT_ONLY" value="true"/>
<send>
<endpoint name="FileEpr">
<address uri="vfs:file:///Target"/>
</endpoint>
</send>
当我尝试这个代理和序列时,send mediator成功在“target”文件夹中创建一个文件,但问题是该文件的内容未写入。所以大小是0字节。我原来的文件是1000字节。如果我按顺序添加此配置
<log level="full"/>
它完美无缺。我的问题是,我是否需要使用日志完整配置?但是当我查看WSO2 web中的文件处理示例时,它不使用任何日志完整配置。那么如何在不使用任何“log”属性的情况下使用send mediator来编写文件呢?
感谢,