java.net.SocketTimeoutException: Tiempo de espera de lectura agotado

Tengo una aplicación con arquitectura de servidor cliente. El cliente usa Java Web Start con Java Swing / AWT y el sert usa el servidor HTTP / Servlet con Tomcat. La comunicación se realiza a partir de la serialización de objetos, crea un ObjectOutput serializa una matriz de bytes y los envía al servidor respectivamente llamado ObjectInputStream y deserializa.

La aplicación sigue comunicándose correctamente a un cierto tiempo de concurrencia donde comienza a mostrar el error "Tiempo de espera de lectura de SocketException". El error ocurre cuando el servidor invoca el método ObjectInputStream.getObject () en mi método servlet doPost.

El tomcat vendrá lento y los errores comenzarán a disminuir el tiempo de respuesta del servidor hasta el tiempo de bloqueo donde debo reiniciar el servidor y después de que todo funcione.

Alguien pasó por este problema?

Codigo del cliente

URLConnection conn =  url.openConnection();
conn.setDoOutput(true);

OutputStream os = conn.getOutputStream();
ObjectOutputStream oss = new ObjectOutputStream(os);

oss.writeUTF("protocol header sample");

oss.writeObject(_parameters);
oss.flush();
oss.close();

Código de servidor

ObjectInputStream input = new ObjectInputStream(_request.getInputStream());
String method = input.readUTF();

parameters = input.readObject();

input.readObject () es donde está el error

Respuestas a la pregunta(2)

Su respuesta a la pregunta