"distributed application" means that parts of the application will execute on different computational nodes (which may be different CPU/cores on different machines or among multiple CPU/cores on the same machine).
Is it advisable to use System.exit() for graceful client termination?