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()

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 741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU