Клиенты Weblogic webservice. (Чистые ссылки) - PullRequest
5 голосов
/ 30 июля 2011

Я создал пул портов (клиенты веб-сервисов), потому что создание на лету при каждом запросе клиента приводит к узкому месту

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

Это нормально ...?

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

Есть ли способ очистить эти ссылки после получения ответа?

Обновление: при использовании клиентов Apache CXF у меня такой проблемы нет, однако, пб. по-прежнему открыт для клиентов weblogic ..

1 Ответ

2 голосов
/ 06 августа 2011

@ Cris: хотя я не работал экстенсивно над веб-сервисом weblogic, но вышеприведенная проблема довольно странная.Вы можете попробовать это: у вас есть объединенные порты в связанном списке ... отправить вызов веб-сервиса в отдельный поток, и как только поток завершится (вызов веб-сервиса завершен), все локальные объекты потока должны быть собраны сборщиком мусора.Вам нужна помощь java profiler, чтобы выяснить, кто удерживает ссылки после вызова веб-службы ... если вы используете интерфейс Dispatch, вы можете распечатать контекст запроса и контекст карты объектов Map через интерфейс BindingProvider, чтобы узнать больше ..

...