Contents

The FileReceiver component writes the data received on its input port to the output file specified by the user.The component provides flexible monitoring capabilities and robust acknowledgement mechanism. 

Icon

FileTransmitter and FileReceiver components work together as a unit. These components should not be decoupled.

Configuration and Testing

The Configuration property sheet of File Receiver is shown below.


Figure 1: Sample FileReceiver Configuration

The table below provides description for the properties in the CPS.

Property

Description

Destination Directory

Directory where the files being received are to be put by default (in case the 'Send' command doesn't specify the destination directory). Relative destination path names specified in the 'Send' command would be evaluated under this directory.

Abort on restart

'Yes' aborts all file transfers in progress when the component restarts.

Restart timeout

Time (in milliseconds) to wait before resending the receipt status of a particular file to the Transmitter.

Abort timeout

Time (in milliseconds) to wait before sending an Abort packet to the Transmitter to abort transfer of a particular file.

Number of packets to receive before acknowledging

Number of packets to receive before sending the chunk receipt status to the corresponding Transmitter.

Status on Percentage Increase

Maximum increase in percentage completion before the FileReceiver sends another status report.

Status on Packets Received Count

Maximum increase in the number of chunks received before the FileReceiver sends another status report.

Status on Delay Interval

Maximum delay, in milliseconds, before the FileReceiver sends another status report.

The configuration can be validated using the 'Validate' button.Note that this button doesn't check the existence of the destination directory. Successful result of the Validate operation appears as below.


Figure 2: Validating the configuration

FileReceiver Ports

Input Ports

  • Data – Receives file data.

Output Ports

  • Status – Sends the status of file(s) being received.
  • Acknowledgement – Sends acknowledgements to the File Transmitter(s).

Functional Demonstration

Below figure shows the event process where a FileReceiver receives files transmitted by FileTransmitter.


Figure 3: Event process showing the File Transfer microservices

Scenario 1

FileReceiver receiving a file transmitted by the FileTransmitter.

Sample Input

The below shown input is sent to the FileTransmitter from the Feeder.


Figure 4: Input from Feeder component

Sample Output

The below shown figure shows the status messages sent by the FileReceiver component.


Figure 5: Status message from FileReceiver component

Useful Tips

  • Make sure that the three properties Status on Percentage Increase, Status on Packets Transmitted Count, and Status on Delay Interval are configured depending on the requirement. If all the three are set to small values, the component sends many status messages.
  • If file transfer is across internet, the property Restart timeout needs to be tuned appropriately to a higher value in order to avoid FileReceiver sending additional acknowledgements unnecessarily.
  • The component's cache must always be set to yes, otherwise the component will not be able to resume a transfer on restart.
Icon

To understand the service better, refer the File Transfer example which demonstrates FileReceiver service features.

Adaptavist ThemeBuilder EngineAtlassian Confluence