Since connection creation takes up quite a few times, and I'd like to connect to multiple hosts, I started to use JSch from multiple threads.
However I get some nasty exceptions, which I think is because of JSch being not thread-safe. How should I use it, that it not throws any exception, which is due to the not-thread-safety of JSch?
com.jcraft.jsch.JSchException: connection is closed by foreign host
As any other non-thread safe class.
Access it from a single thread at a time only.
If this downgrades performance, you can create a connection pool.
Though I do not think this exception is caused by concurrent access.
It's rather that the server rejects too frequent connection attempts from the same host (what is quite common).