Reputation: 457
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
Reputation: 2295
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