2016-07-14 6 views
0

Я использую Weblogic 12.2.1 и встроенный клиент Джерси 2.21.1, чтобы сделать партию https-запросов к удаленной системе каждые пару часов.
Для этого у меня есть фасоль @Singleton с методом @Scheduled, который выполняется в Weblogic в определенное время. Поэтому при каждом выполнении метода @Scheduled я делаю несколько вызовов https один за другим. Все запросы синхронны.Джерси клиент запрашивает проблемы на Java EE

Проблема заключается в том, что по какой-либо причине следующий запрос отправляется с одной минутой задержки после предыдущего (согласно выходному сигналу Wireshark). Вызов вызова Джерси блокирует. Ответы приходят немедленно. Нет проблем с удаленной системой.

Тот же код для отправки запросов при выполнении в тесте JUnit (простой java) не имеет задержки. Все запросы проходят немедленно. Так может быть, что-то с контейнером Weblogic.
Кто-нибудь с аналогичной проблемой?

ответ

0

Фактически, когда я изменил по умолчанию HttpUrlConnectorProvider в клиенте с ApacheConnectorProvider, между запросами не было больше задержек. В самом деле, о чем говорится в документации по Джерси:

... в сложных средах (таких как серверы приложений), где могут существовать некоторые объединенные соединения до того, как ваше приложение будет даже загрузочным, этот подход не является на 100% надежным, и мы рекомендуется использовать другой клиентский соединитель для транспорта, такой как Apache Connector.

Но опять же возникает другая проблема, если вы хотите использовать многостраничную функцию клиента. Об этом документы говорят:

Предупреждение

Будьте в курсе с помощью другой реализации соединителя по умолчанию. Существует проблема с обработкой HTTP-заголовков в WriterInterceptor или MessageBodyWriter. Если вам нужно изменить поля заголовка, не используйте ни ApacheConnectorProvider, ни GrizzlyConnectorProvider ни JettyConnectorProvider. Например, проблема относится к функции Jersey Multipart, которая также изменяет заголовки HTTP.

И, наконец, я оказался в ситуации, когда мне нужно выбрать ApacheConnector (быстрые запросы) без множественных или медленных запросов с multipart. Смешно, не так ли?

Предполагаю, что я должен потратить больше времени на исследования для других спокойных клиентов, которые фактически работают в средах Java EE.

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