I would like to know when will the ApplicationContext call the method annotated with @PreDestroy on a prototype-scoped bean?
a) Each time a bean instance become unreachable (eg. ready for GC) b) When the ApplicationContext is shutting down (eg. calling close(), stop(), destroy())