I found out that @PreDestroy
only work with singleton
scoped bean. I was thinking what could go wrong if we use it with prototype
scoped bean. Anything at all??? I dont think so. I think this is just not implemented in spring as they would have to keep the references to all the beans created. Tell me if i am wrong
Spring can only initialize/destroy beans it also controllers and basically prototype scoped beans aren't under the control of spring (after construction). It doesn't know when it is cleaned up, destroyed or what so ever. As such the @PreDestroy
method isn't callable for prototype beans (as they do not have a clearly defined lifecycle like singletons or request scoped beans).