I am not sure how to understand the documentation for destroyMethod method of Bean type.
It says:
As a convenience to the user, the container will attempt to infer a destroy method against an object returned from the @Bean method. For example, given an @Bean method returning an Apache Commons DBCP BasicDataSource, the container will notice the close() method available on that object and automatically register it as the destroyMethod. This 'destroy method inference' is currently limited to detecting only public, no-arg methods named 'close' or 'shutdown'.
Does it mean that the Bean({destroyMethod="close"}) is redundant on types having close() method and Bean({destroyMethod="shutdown"}) on types having shutdown() method, as they will always be inferred automatically?
If that's the case it seeems that usage of destroyMethod="close" or destroyMethod="shutdown" is redundant in all cases. Am I right?