Are you calling get() on the Instance with each request (or whatever0 that
comes into this bean?

On Fri, Feb 27, 2015 at 1:13 PM Karl Kildén <[email protected]> wrote:

> To explain myself further ALL I had on my heap was my
> Instance<MyInterface>... and gc released 0.5% memory :)
>
> I had 200 000 of them at least. They where supposed to be four singletons.
> My idea was inject into @ApplicationScoped and omit to give them scope
> because they will be @ApplicationScoped anyways... Seems every invocation
> of my @ApplicationScoped bean recreated all instances.
>
> What I had was unrecoverable mem leak. Now I could be doing something
> stupid or Instance<MyInterface> has a problem or something else...
>
> Cheers
>
>
>
> On 27 February 2015 at 19:05, Romain Manni-Bucau <[email protected]>
> wrote:
>
>> If dependent it will be kept in enclosing bean.
>>  Le 27 févr. 2015 19:00, "Lars-Fredrik Smedberg" <[email protected]> a
>> écrit :
>>
>> So does this mean that there will be a memory leak in the case Karl
>>> described?
>>>
>>> I have used similar constructs before so im curios (@Inject @Provider
>>> <some dep scoped bean> in an @ApplicationScoped bean and called get () on
>>> the injected provider).
>>>
>>> I thought for a while that it might get garbage collected when the
>>> created bean is outof scope or maybe then there is no way for @PreDestroy
>>> to be called?
>>>
>>> Regards
>>> LF
>>>
>>> I thought that the created dep scoped bean would be
>>> On Feb 27, 2015 6:07 PM, "Romain Manni-Bucau" <[email protected]>
>>> wrote:
>>>
>>>> Yes.
>>>>
>>>> Will be destoyed with the bean where it is injected IIRC so the app
>>>> here.
>>>> Le 27 févr. 2015 16:59, <[email protected]> a écrit :
>>>>
>>>>> Hello! I have a bean with @ApplicationScoped. When I inject
>>>>> Instance<MyInterface> instance and my actual beans implementing MyInstance
>>>>> are dependentscoped they get recreated over and over and are not gc'd.
>>>>>
>>>>> Expected behavior?
>>>>>
>>>>> Cheers
>>>>
>>>>
>

Reply via email to