Внутренняя ошибка соединителя (1002) - истек тайм-аут вызывающего потока в ожидании ответа, чтобы разблокировать его. - PullRequest
0 голосов
/ 05 апреля 2011

Мы разрабатываем веб-приложение для Glassfish V3. У нас есть 2 приложения в качестве клиента (GWT + сервлеты) и службы (Spring + Hibernate + Restful Webservices)

Сервлет вызова GWT и сервлет подключаются к сервисному уровню. Один человек, получающий один запрос, работает хорошо, но когда графический пользовательский интерфейс начинает получать больше запросов или больше людей входит в систему и получает данные с сервера, сервлет начинает ждать подключения к службе и, наконец, получает сообщение об ошибке ниже.

"Внутренняя ошибка соединителя (1002) - время ожидания вызывающего потока истекло для ответа, чтобы разблокировать его. "

В таком случае, должны ли мы отказаться от использования спокойных веб-сервисов между клиентом и сервисом? Или есть ли способ решить эту проблему? Или EJB может быть более эффективным способом разработки этой архитектуры?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 16 сентября 2013

вы не получите такого рода ошибки, если будете всегда учитывать следующее при использовании класса ClientResource RestLet в своем коде на стороне клиента:

ClientResource cr = new ClientResource(uri);
//please substitute the line below with any other kind of request you need to forward
Representation response = cr.put(json);

if (response != null) {
  try {
        <something>
   }finally {
    response.exhaust();
    response.release();
        cr.release(); 
   }

Кроме того, на сервересо стороны, вы можете захотеть проверить, что дальнейшее HTTP-соединение с внешними ресурсами не создается без установленного тайм-аута соединения (в противном случае серверу может потребоваться больше времени для ответа)

0 голосов
/ 19 апреля 2011

Мы заметили, что эта проблема возникает, когда клиентский уровень (сервлеты) и сервисный уровень на одном компьютере (один сервер, домен).

При подключении к веб-службе происходит петля.

Так что решение простое. Мы создали 2 домена, развернули клиента в первом домене и развернули сервис во втором домене. Таким образом, очередь ожидания больше не исчезла, а ошибка выше исчезла.

Я надеюсь, что это поможет другим в том же случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...