...
Code Block | ||
---|---|---|
| ||
<inboundEndpoint xmlns="http://ws.apache.org/ns/synapse"
name="file" sequence="request"
onError="fault"
protocol="file"
suspend="false">
<parameters>
<parameter name="interval">1000</parameter>
<parameter name="sequential">true</parameter>
<parameter name="coordination">true</parameter>
<parameter name="transport.vfs.ActionAfterProcess">MOVE</parameter>
<parameter name="transport.PollInterval">10</parameter>
<parameter name="transport.vfs.MoveAfterProcess">file:///home/user/test/out</parameter>
<parameter name="transport.vfs.FileURI">file:///home/user/test/in</parameter>
<parameter name="transport.vfs.MoveAfterFailure">file:///home/user/test/failed</parameter>
<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
<parameter name="transport.vfs.ContentType">text/plain</parameter>
<parameter name="transport.vfs.ActionAfterFailure">MOVE</parameter>
</parameters>
</inboundEndpoint> |
...
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 |
---|---|---|---|---|
interval | The time duration in milliseconds between two file scans that checks for updates. | Yes | ||
sequential | Files 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 | |
| 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: |
| 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., |
| 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., |
t | Whether to move or delete the files after the transport has processed them. | No |
|
|
| Whether to move or delete the files if a failure occurs. | No |
|
|
| Where to move the files after processing if the value specified as | Yes, if | A valid file URI |
| Where to move the files after processing if the value specified as | Yes, if | A valid file URI |
| The location where reply files should be written by the transport. | No | A valid file URI |
| The name for reply files written by the transport. | No | A valid file name |
|
| The pattern/format of the timestamp added to file names as prefixes when moving files. | No | A valid timestamp pattern |
| Whether files should be transferred in streaming mode, which is useful when transferring large files. | No |
|
|
| Reconnect timeout value in seconds to be used in case of an error when transferring files. | No | A positive integer | 30 sec |
| Maximum number of retry attempts in case of errors. | No | A positive integer | 3 |
| The location to move a failed file. | No | A valid file URI |
| The name of the file that maintains the list of failed files. | No | A valid file name |
|
| The location to store the failed records file. | No | A folder URI |
|
| 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 |
|
| The time in milliseconds to wait before retrying the move task. | No | A positive integer | 3000 milliseconds |
| 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 |
|
|
transport.vfs. FileProcessCount | This 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. If you specify a value for this | No | A positive integer, such as 10 | N/A |
| The interval in milliseconds between file processing batches. | No | A positive integer, such as 1000 | N/A |
| 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 or false | N/A |
| The timeout period in seconds for the distributed lock. | No | A positive integer, such as 10 | N/A |
| 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 or false | N/A |
| Lock release interval in milliseconds. | No | A positive integer, such as 1000 | N/A |
| 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 or false | true |
transport.vfs.FileSortAttribute | The attribute by which the files should be sorted and processed. | No | NONE, Name, Size and Lastmodifiedtimestamp | N/A |
transport.vfs.FileSortAsscending | The 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 or false | true |
transport.vfs.CreateFolder | Set to true to create a folder if a folder does not exist when moving files. | No | true or false | false |
transport.vfs.SubFolderTimestampFormat | The 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. | No | A valid timestamp pattern (e.g., yyyy-MM-dd'T'HH:mm:ss.SSSZ ) | N/A |
transport.vfs.Build | Set to 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 or false | false |
Info | ||
---|---|---|
| ||
If you specify the |
...