2015-08-01 1 views
0

Я столкнулся с проблемой прерывистого вызова на tomcat во время отдыха. установки:Прерывистая проблема 503 с параметрами прокси-сервера JVM на tomcat

ApplicationA работает на автономном котом на PortX

ApplicationB работает на другом автономном котом на Porty и котом установки находятся на одной и той же машине. Java-версия JRE6

Эти параметры добавляются к JVM_OPTS в профиле Баш -Dhttp.proxyHost = [хост] -Dhttp.proxyPort = [порт] -Dhttp.nonProxyHosts = локальный

приложение А делает повторный вызов в приложении B с помощью Spring RestTemplate и получает сообщение об ошибке 503 (услуга недоступна).

URL-адрес используются в http://localhost:portY/ApplicationB/restapipath

вызываю является то, что запросы на локальный проходят через прокси-сервер, определенные в JVM_OPTS, но в моем понимании всех LOCALHOST URLs должны быть вызваны без использования какого-либо прокси-сервера.

Эта проблема происходит периодически, но как только она начинается, она продолжается до перезапуска сервера Tomcat ApplicationA.

Кроме того, я понимаю, что любые вызовы, выполненные Spring SpringTemplate, будут выполнять настройки прокси-сервера JAVA_OPTS без дополнительной обработки кода.

Любые указатели, помощь приветствуется.

+0

Работает ли связь между двумя приложениями, когда вы начинаете с нее без JVM_OPT? – Ralph

+0

Это одна вещь, которую я не могу попробовать, так как это производственная система, а ApplicationA нужен прокси для связи с другими системами. Я знаю, что хрома не имеет надежной тестовой системы. –

+0

Может ли быть, что второй вызов веб-службы во внешней системе вызывает прерывистую проблему с прокси? –

ответ

0

После нескольких часов разочарования я нашел решение. Проблема была в том, что мое представление о параметрах прокси-сервера JVM было неверным.

Параметры в JVM_OPTS в профиле bash -Dhttp.proxyHost=[host] -Dhttp.proxyPort=[port] фактически не используются автоматически при использовании Spring RestTemplate. Эти параметры должны быть выбраны с помощью System.getProperty('http.proxyHost'), а затем явно установить в DefaultHttpClient

Теперь проблема в моем коде, что там был один httpClient боб определен в applicationContext.xml, который используется как остальные вызовы. Вызов не-прокси-ресурса работал нормально до тех пор, пока не будет вызван повторный вызов with-proxy httpClient с данными прокси.

Решение было отдельным пользователем httpClient объектов для вызовов для отдыха.

 Смежные вопросы

  • Нет связанных вопросов^_^