Versions Compared

Key

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

...

JADE Client Command Line Interface

  1. Getting Started and Downloading files
  2. Simple File Selection
  3. More Advanced File Selection
  4. File Transfer

  5. Checking files for completeness
  6. Public / Private Key Authentication
  7. Transfer via a Jump Host / DMZ

...

  • This example uses a set of 5 test_*.txt files that have been saved to the user's local file system during the implementation of an earlier tutorial in this series - for example The JADE YADE Client Command Line Interface - Tutorial 1 - Getting Started in which the files were downloaded to the user's \jade_demo\a directory.
  • A ProtocolFragment is not required in the configuration of this example, as local to local transfer is being carried out.

...

Code Block
languagebash
titleRunning the file transfer configuration in Windows format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
jade.cmd -settings="%USERPROFILE%\jade_demo\local_2_local_file_complete.xml" -profile="local_2_local_create_md5"
jade.cmd -settings="%USERPROFILE%\jade_demo\local_2_local_file_complete.xmlini" -profile="local_2_local_create_md5"

...

Code Block
languagebash
titleRunning the file transfer configuration in Unix format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
./jade.sh -settings="${HOME}/jade_demo/local_2_local_file_complete.xml" -profile="local_2_local_create_md5"
./jade.sh -settings="${HOME}/jade_demo/local_2_local_file_complete.xmlini" -profile="local_2_local_create_md5"

...

Code Block
languagebash
titleRunning the file transfer configuration in Windows format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
jade.cmd -settings="%USERPROFILE%\jade_demo\local_2_local_file_complete.xml" -profile="local_2_local_check_md5"
jade.cmd -settings="%USERPROFILE%\jade_demo\local_2_local_file_complete.xmlini" -profile="local_2_local_check_md5"

...

Code Block
languagebash
titleRunning the file transfer configuration in Unix format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
./jade.sh -settings="${HOME}/jade_demo/local_2_local_file_complete.xml" -profile="local_2_local_check_md5"
./jade.sh -settings="${HOME}/jade_demo/local_2_local_file_complete.xmlini" -profile="local_2_local_check_md5"

...

Code Block
languagebash
titleRunning the file transfer configuration in Windows format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
jade.cmd -settings="%USERPROFILE%\jade_demo\sos-berlin_demo_2_local_atomic.xml" -profile="ftp_server_2_local_atomic"
jade.cmd -settings="%USERPROFILE%\jade_demo\sos-berlin_demo_2_local_atomic.xmlini" -profile="ftp_server_2_local_atomic"

...

Code Block
languagebash
titleRunning the file transfer configuration in Unix format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
./jade.sh -settings="${HOME}/jade_demo/sos-berlin_demo_2_local_atomic.xml" -profile="ftp_server_2_local_atomic"
./jade.sh -settings="${HOME}/jade_demo/sos-berlin_demo_2_local_atomic.xmlini" -profile="ftp_server_2_local_atomic"

...

Code Block
languagebash
titleRunning the file transfer configuration in Windows format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
jade.cmd -settings="%USERPROFILE%\jade_demo\local_2_local_steady_state.xml" -profile="local_2_local_steady_state"
jade.cmd -settings="%USERPROFILE%\jade_demo\local_2_local_steady_state.xmlini" -profile="local_2_local_steady_state"

...

Code Block
languagebash
titleRunning the file transfer configuration in Unix format using an XML (JADE 1.11 and later) or settings.ini file (JADE 1.10 and earlier)
./jade.sh -settings="${HOME}/jade_demo/local_2_local_steady_state.xml" -profile="local_2_local_steady_state"
./jade.sh -settings="${HOME}/jade_demo/local_2_local_steady_state.xmlini" -profile="local_2_local_steady_state"

...

Code Block
languagebash
main INFO  1017:3741:0052,924547   (SOSDataExchangeEngine.java:10501046) ::setInfo 3 files found for regexp '^test_large_.\.txt$'.
main INFO  1017:3741:0052,925548   (SOSDataExchangeEngine.java:10501046) ::setInfo checking file(s) for steady state
main INFO  1017:3741:0052,926549   (SOSDataExchangeEngine.java:130132) ::checkSteadyStateOfFiles steady check (1 of 1025).: waiting 2s.
main INFO  1017:3741:0254,931554   (SOSDataExchangeEngine.java:148193) ::checkSteadyStateOfFilescheckSteadyStateOfFile steady check (1 of 1025).: Changed. file size: new = 131072147456 bytes, old = 98304114688 bytes. 'C:\Users\aa\jade_demo\a\test_large_1.txt'

The two checkSteadyStateOfFiles INFO messages will repeat until a steady state is noted for each file and the transfer of that file is started. This is shown in the listing below:

Code Block
languagebash
main INFO  17:42:00,566   (SOSDataExchangeEngine.java:193) ::checkSteadyStateOfFile steady check (4 of 25): Changed. file size: new = 224498 bytes, old = 212992 bytes. 'C:\Users\aa\jade_demo\a\test_large_1.txt'
main INFO  17:42:00,567   (SOSDataExchangeEngine.java:132) ::checkSteadyStateOfFiles steady check (5 of 25): waiting 2s.
main INFO  17:42:02,567   (SOSDataExchangeEngine.java:143) ::checkSteadyStateOfFiles all files seem steady! Extra steady check (5 of 25): waiting 2s for late comers.
main INFO  17:42:04,573   (SOSDataExchangeEngine.java:193) ::checkSteadyStateOfFile steady check (5 of 25): Changed. file size: new = 98304 bytes, old = 224498 bytes. 'C:\Users\aa\jade_demo\a\test_large_2.txt'
main INFO  17:42:04,574   (SOSDataExchangeEngine.java:132) ::checkSteadyStateOfFiles steady check (6 of 25): waiting 2s.

After the file being transferred appears to have reached a steady state JADE waits an extra interval to ensure that the file has reached steady state (in the third line of the listing).

In the fourth line JADE is waiting for the next file. Note that the entry old = 224498 bytes comes because in the configuration used to generate the listing, file is being overwritten and 224498 bytes is the size of the previously downloaded version.

Note that it may be necessary to adjust the values of check_steady_state_interval and/or steady_state_count from the values shown to ensure that the test files are fully downloaded before the check is timed out.

...