I have a servlet that acquires two instances of a dependent scoped bean. 
The first is aquired by @Inject Instance<CdiBean> the second is acquired 
via CDI.current().select(CdiBean.class).get(). 

I can see that the first instance's @PreDestroy is called when I shut down 
the application. However @PreDestroy is not called on the instance 
acquired CDI.current. Here is the source: 

My question is, is this behaviour intentional? And if it is, can you 
please link me to the appropriate part of the spec that says when we 
should expect a @Dependent bean created by CDI.current to be destroyed? I 
have a customer concerned about this causing a potential memory leak. 

Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Attachment: TestServlet.java
Description: Binary data

Attachment: CdiBean.java
Description: Binary data

weld-dev mailing list

Reply via email to