如何在源文件夹vfs传输WSO2中处理后保存文件

时间:2013-11-25 04:17:21

标签: wso2 synapse

我在WSO2中使用VFS传输将文件从一个文件夹路由到另一个文件夹。
但是现在我遇到了问题,我不想将处理过的文件移动到另一个文件夹或删除它。
问题是VFS传输有一个默认操作DELETE或将处理过的文件移动到另一个文件夹。
是否可以将处理过的文件保存在源文件夹中?或者我是否必须更改代码或修改其他内容?还有其他办法吗?
仅供参考,我的代理人就是这样,

<proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable">
  <description/>
  <target>
     <inSequence>
        <class name="com.test.read"/>
        <log level="custom">
           <property name="status" value="file read"/>
        </log>
     </inSequence>
  </target>
  <parameter name="transport.PollInterval">1</parameter>
  <parameter name="transport.vfs.FileURI">file:///source</parameter>
  <parameter name="transport.vfs.MoveAfterProcess">file:///target</parameter>
  <parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
  <parameter name="transport.vfs.ContentType">text/plain</parameter>

处理完文件后,该文件将被移动到文件夹目标。那么如何在不移动或删除文件的情况下保留文件呢? 谢谢:))

1 个答案:

答案 0 :(得分:1)

只需将transport.vfs.MoveAfterProcess更改为原始位置,即使在处理完毕后也会将文件保留在原始位置。

<proxy name="XXX" transports="vfs" startOnLoad="true" trace="disable">
  <description/>
  <target>
     <inSequence>
        <class name="com.test.read"/>
        <log level="custom">
           <property name="status" value="file read"/>
        </log>
     </inSequence>
  </target>
  <parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
  <parameter name="transport.PollInterval">1</parameter>
  <parameter name="transport.vfs.FileURI">file:///source</parameter>
  <parameter name="transport.vfs.MoveAfterProcess">file:///source</parameter>
  <parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
  <parameter name="transport.vfs.ContentType">text/plain</parameter>
</proxy>