2016-05-02 8 views
-1

I a В настоящее время я работаю над проектом javaEE, который использует реализации Cdi для сварки. I wasvassign задание для анализа утечек памяти и управления памятью в нашем приложении. Я запутался в следующем аспекте сборки сборщика мусора и прокси-объекта cdi. У меня есть Cdi Session scoped LoginController bean. когда буксир или более двух логинов пользователя, чем на сомнение, будет создано соответствующее число элементов компонента LoginController. Если этот компонент «Контроллер входа» впрыскивается в какой-то другой компонент, и когда к этому другому компоненту обращается, что создается прокси-сервер для контроллера входа и обрабатывается запрос . Независимо от того, сколько создано LoginController, создается только один экземпляр объекта Proxy LoginController.Удаление объекта Cdi Proxy сборщиком мусора Сборщик в javaEE

С момента загрузки компонента «LoginController» сборщик мусора, собранный при тайм-ауте сеанса. Но прокси-сервер для входа в систему никогда не собирает мусор после его создания даже идентификатора. Все компоненты «Контроллеры входа» получают сбор мусора. Я хочу знать, почему ...?

ответ

0

Прокси-объект создается один раз во время выполнения, чтобы представлять компонент, созданный CDI. На уровне сеанса есть ссылки на сеансы (идентификаторы сеанса) и экземпляры за каждым из этих прокси. Прокси-сервер - это то, что передается и, по существу, всегда есть.

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

+0

Просьба проконсультироваться по моему сектору –

+0

Просьба пояснить, что неясно из моего ответа. –