Hmm... good point, @bram-atmire 

Since this is catching *all* IOExceptions, we actually may need to be careful that we are NOT "masking" other possible IO errors.  Currently we are assuming that any IOException is just a "Client close the connection" error (as that is what is logged in dspace.log)

Why aren't we just catching SocketException (which is what is thrown in the error message, and a subclass of IOException)?

So, could we change "catch(IOException e)" to "catch(SocketException e)"?  

Whether it's logged as an error or a warning doesn't make too much difference, I guess. But, we should avoid making an assumption that the only type of IOException that can be encountered here is when a Client closes their connection.