This documentation is for WSO2 Enterprise Service Bus version 5.0.0. For the latest ESB, view the latest WSO2 Enterprise Integrator documentation.

All docs This doc

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The VFS transport does not have any global parameters to be configured. Rather, it has a set of service-level parameters that must be specified for each proxy service that uses the VFS transport. For information on how to configure the file inbound protocol for FTP, SFTP and FILE connections, see Configuring File Inbound Protocol for FTP, SFTP and FILE Connections.


Parameter

Description

Required

Possible Values

Default Value

intervalThe time duration in milliseconds between two file scans that checks for updates.Yes

sequentialFiles will be processed sequentially when this parameter is set to true.Yes
true
coordination

This should be true for clustered deployments in order to prevent two nodes from retrieving the same file.

Yes
true

transport.vfs. FileURI

The URI where the files you want to process are located. You can specify connection-level parameters on the URL.

Yes

A valid file URI in the following form:
file://<path>


transport.vfs. ContentType

Content type of the files processed by the transport. To specify the encoding when reading a file, follow the content type with a semi-colon and the character set. For example:

<parameter name="transport.vfs.ContentType“>text/plain;charset=UTF-32</parameter>
When writing a file, you can set a different encoding with the CHARACTER_SET_ENCODING property:
<property name="CHARACTER_SET_ENCODING" value="UTF-8" scope="axis2" type="STRING"/>

Yes

A valid content type for the files (e.g., text/xml). You can specify the encoding after

the content type

ContentType, such as: text/plain;charset=UTF-32


transport.vfs. FileNamePattern

If the VFS listener should process only a subset of the files available at the specified file URI location, use this parameter to select those files by name using a regular expression.

No

A regular expression to select files by name (e.g., *\.xml)


transport.vfs. ActionAfterProcess

Whether to move or delete the files after the transport has processed them.

No

MOVE or DELETE

DELETE

transport.vfs. ActionAfterFailure

Whether to move or delete the files if a failure occurs.

No

MOVE or DELETE

DELETE

transport.vfs. MoveAfterProcess

If WSO2 ESB reads the files without any issue, it moves the files to the location specified

in MoveAfterProcess 

in this parameter.


Yes, if
ActionAfterProcess
is MOVE

A valid

file URI

FileURI


transport.vfs. MoveAfterFailure

If WSO2 ESB is unable to read a file from the location specified

in FileURI 

in FileURI due to an error while reading the file,

it moves

it moves this file to the location specified

in MOVEAfterFailure 

in this parameter .

Yes,

if 

if

ActionAfterFailure 

ActionAfterFailure
is MOVE

A valid

file URI

FileURI


transport.vfs. ReplyFileURI

The location where reply files should be written by the transport.

No

A valid

file URI

FileURI


transport.vfs. ReplyFileName

The name for reply files written by the transport.

No

A valid

file name

FileName

response.xml

transport.vfs. MoveTimestampFormat

The pattern/format of the timestamp added to file names as prefixes when moving files.

No

A valid timestamp pattern
(e.g., yyyy-MM-dd'T'HH:mm:ss.SSSZ )


transport.vfs. Streaming

Whether files should be transferred in streaming mode, which is useful when transferring large files.

No

true or false

false

transport.vfs. ReconnectTimeout

Reconnect timeout value in seconds to be used in case of an error when transferring files.

No

A positive integer

30 sec

transport.vfs. MaxRetryCount

Maximum number of retry attempts in case of errors.

No

A positive integer

3

transport.vfs. MoveAfterFailedMove

The location to move a failed file.

No

A valid

file URI

FileURI


transport.vfs. FailedRecordsFileName

The name of the file that maintains the list of failed files.

No

A valid

file name

FileName

vfs-move-failed-records.
properties

transport.vfs. FailedRecordsFile Destination

The location to store the failed records file.

No

A folder URI

repository/conf/

transport.vfs. MoveFailedRecord TimestampFormat

The time stamp format for entries in the failed records file. The failed records file maintains the name of the file that failed and the timestamp of its failure.

No

A valid timestamp pattern
(e.g., yyyy-MM-dd'T'HH:mm:ss.SSSZ )

dd-MM-yyyy HH:mm:ss

transport.vfs. FailedRecordNext RetryDuration

The time in milliseconds to wait before retrying the move task.

No

A positive integer

3000 milliseconds

transport.vfs.Locking

By default, file locking is enabled in the VFS transport. This parameter lets you configure the locking behavior on a per service basis. You can also disable locking globally by specifying the parameter at the receiver level and selectively enabling locking only for a set of services.

No

enable or disable

enable

transport.vfs. FileProcessCountThis parameter allows you to throttle the VFS listener by processing files in batches. Specify the number of files you want to process in each batch.NoA positive integer, such as 10N/A

transport.vfs. FileProcessInterval

The interval in milliseconds between file processing batches.NoA positive integer, such as 1000N/A

transport.vfs.DistributedLock

This applies only in cluster deployments. Set to true if you need to avoid multiple servers trying to process the same file simultaneously.No
true
True or
false
 False
N/A

transport.vfs.DistributedTimeout

The timeout period in seconds for the distributed lock.NoA positive integer, such as 10N/A

transport.vfs.AutoLockRelease

Set to true if you need to release locking in order to avoid files not being processed due to faulty locking. This works together with the transport.vfs.AutoLockReleaseInterval and transport.vfs.LockReleaseSameNode parameters. No
true
True or
false
 False
N/A

transport.vfs.AutoLockReleaseInterval

Lock release interval in milliseconds.NoA positive integer, such as 1000N/A

transport.vfs.LockReleaseSameNode

Set to true if you need to release the locks only accrued by the same worker node.
If this is set to false, locks accrued by other nodes will be released according to the value specified in transport.vfs.AutoLockReleaseInterval .
No
true
True or
false
 False
true
transport.vfs.FileSortAttributeThe attribute by which the files should be sorted and processed.NoNONE, Name, Size and LastmodifiedtimestampN/A
transport.vfs.FileSortAsscendingThe sort order to sort and process the files. If set to true files will be sorted in ascending order based on the attribute you specify in transport.vfs.FileSortAttribute.No
true
True or
false
 False
true
transport.vfs.CreateFolderSet to
true
True to create a folder if a folder does not exist when moving files.No
true
True or
false
 False
false
transport.vfs.SubFolderTimestampFormatThe pattern/format of the timestamps added to the folder structure when moving files. You need to set transport.vfs.CreateFolder to true to in order to specify a value for this parameter.NoA valid timestamp pattern 
(e.g., yyyy-MM-dd'T'HH:mm:ss.SSSZ )
N/A
transport.vfs.BuildSet to
true
True if you need to build the content inside the file before injecting the file to the mediation engine. If there is a build error, the file will not be injected to the mediation engine.No
true
True or
false
 False
false
Info
titleNote

If you specify the transport.vfs.FileProcessCount parameter you do not need to specify the transport.vfs.FileProcessInterval parameter in a configuration, and vice versa. This is because the transport.vfs.FileProcessCount parameter and the the transport.vfs.FileProcessInterval parameter cannot be used at the same time.

Samples

For a sample that demonstrates how to use the file system as an input medium via the inbound file listener, see  Sample 900: Inbound Endpoint File Protocol Sample (VFS).