ОШИБКА В / В: ОШИБКИ РОЗЕТКИ - PullRequest
1 голос
/ 17 марта 2011

У нас есть веб-приложение J2EE, развернутое на сервере JBOSS 4.0.2. В последние несколько дней приложение внезапно останавливается. мы получаем следующие ошибки в журнале.

java.net.SocketException: Программное обеспечение вызвано прерывание соединения: ошибка recv

Из-за вышеуказанных ошибок сокета приложение не может подключиться к базе данных. Перезапуск приложения jboss также не помогает. Чтобы устранить ошибку сокета, мы должны перезагрузить производственную машину. После перезапуска производственной машины она работает отлично.

Что может быть причиной вышеуказанных ошибок сокета?

1 Ответ

0 голосов
/ 14 июня 2011

Эта ошибка, по сути, означает, что кто-то пытался читать или писать из закрытого сокета (Windows говорит об «сбросе соединения»).Хотя может быть много причин, и невозможно точно сказать, почему ваше приложение это делает.Некоторые вещи, которые вы можете попробовать проверить:

  • если у вас есть несколько потоков, читающих и записывающих в один и тот же сокет, убедитесь, что один из них не закрывает его
  • попробуйте отключить Алгоритм Нэгла ;Я видел эту ошибку, потому что кто-то закрыл сокет до того, как операционная система закончила писать в него (вы можете сделать это с помощью setTcpNoDelay )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...