Веб-приложение останавливается при создании экземпляра PoolingHttpClientConnectionManager

Веб-сервис, над которым я работаю, должен отправлять входящие json-данные в интерфейс REST другого сервиса. Для этой цели я написал небольшую программу пересылки, опирающуюся на HttpClient-lib проекта Apache. Локально на моей машине переадресация работает хорошо, но сервер Tomcat, на котором запущено веб-приложение, просто останавливается, как только выполнение достигает экземпляра PoolingHttpClientConnectionManager; т.е. эта строка:

this.cm = new PoolingHttpClientConnectionManager();

Нет исключений или каких-либо других выходных данных, которые могли бы помочь мне понять это.

Если бы кто-то мог дать несколько советов, что еще попробовать, чтобы найти ошибку, я был бы очень рад.

РЕДАКТИРОВАТЬ:

Как я выяснил через удаленную отладку, соответствующий поток останавливается, чтобы предотвратить утечку памяти:

Stopping thread http-bio-8080-exec-22 to avoid potential memory leaks after a context was stopped.

Я до сих пор понятия не имею, почему. И у меня нет идей.

1 ответ

Вы можете использовать jstack для получения трассировки стека вашего Java-процесса. Я хотел бы использовать это, чтобы узнать, какой поток висит и где. Может быть, это даст вам понять, что вызывает ваш блок.

Другие вопросы по тегам