Веб-приложение останавливается при создании экземпляра 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-процесса. Я хотел бы использовать это, чтобы узнать, какой поток висит и где. Может быть, это даст вам понять, что вызывает ваш блок.