Mari_Yaguchi
Mari_Yaguchi

Reputation: 457

How to keep file after being processed in source folder vfs transport WSO2

I use VFS transport in WSO2 to route file from one folder to another.
But now I'm facing a problem, I do not want to move the processed file to another folder or delete it.
The problem is VFS transport has a default action DELETE or move processed file to another folder.
Is it possible to keep the processed file in the source folder? Or do I have to change the code or modify something else? Is there any other way to do this?
FYI, my proxy looks like this,

<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>

After the file is processed, the file will be moved to folder target. So how can I keep the file without moving or delete it? Thanks :)

Upvotes: 1

Views: 439

Answers (1)

Just change the transport.vfs.MoveAfterProcess to original location, which will keep the file there even after being processed.

<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>

Upvotes: 1

Related Questions