File Transfer Options
File transfer options are all optional and are used to:
- optimize file transfer (buffer size, concurrent transfer) and
- handle errors (transactional transfer)
Specification of File Transfer Options
File Transfer Options are defined using the FileTransferOptions elements. FileTransferOptions elements are specified as part of a file transfer Profile, as child elements of the Copy or Move elements as shown in the following diagram:
- Profile
- Operation
- Copy
- CopySource
- Child elements ...
- CopyTarget
- Child elements ...
- TransferOptions
- CopySource
- Move
- MoveSource
- Child elements ...
- MoveTarget
- Child elements ...
- TransferOptions
- MoveSource
- Copy
- Operation
The JADE file transfer options are independent of the transfer protocol. As they apply to the transfer, it follows that they are independent of the source /target and are specified as sibling elements of - in the cases of a Move operation - the MoveSource and MoveTarget elements.
The TransferOptions element can have three children as listed below. The use of these child elements is described in the next sections:
- TransferOptions
- BufferSize
- ConcurrentTransfer
- MaxConcurrentTransfers
- Transactional
Transfer Optimization 1 - Buffer Size
The BufferSize parameter element defines the maximum data block size. TODO
Transfer Optimization 2 - Concurrent Transfer
The ConcurrentTransfer element is used to allow parallel file transfer to occur.
A child element of ConcurrentTransfer - MaxConcurrentTransfers - can be used to limit the number of parallel transfers.
- TransferOptions
- ConcurrentTransfer
- MaxConcurrentTransfers
- ConcurrentTransfer
Transactional Transfer
This parameter specifies whether a transfer should be processed as a single transaction, i.e. whether all objects are to be successfully transferred or none at all.
Should an error occur during a transfer operation then transfers already carried out will be rolled back.
Transactional transfer is often used together with the following parameters:
- Atomicity (a TargetFileOption for the CopyTarget and MoveTarget elements)
- DisableOverwriteFiles (a TargetFileOption for the CopyTarget and MoveTarget elements)
See the Transactional Parameter Reference Article for a detailed explanation of the dependencies between these elements.
Note that transactional transfer is not 100% reliable - there are situations where rollback will not be possible.