Some of the @ManagementContextConfiguration classes are explicitly marked as proxyBeanMethods = false and some are not (e.g. WebMvcEndpointChildContextConfiguration). It seems like Spring doesn't recognize this in a meta-annotation, so it's probably a bug not to declare it explicitly:
Class<WebMvcEndpointChildContextConfiguration> type = WebMvcEndpointChildContextConfiguration.class;
String name = Configuration.class.getName();
System.err.println(new SimpleMetadataReaderFactory().getMetadataReader(type.getName()).getAnnotationMetadata()
.getAllAnnotationAttributes(name).get("proxyBeanMethods"));
System.err.println(new SimpleMetadataReaderFactory().getMetadataReader(type.getName()).getAnnotationMetadata()
.getAnnotationAttributes(name).get("proxyBeanMethods"));
System.err.println(
AnnotatedElementUtils.getMergedAnnotationAttributes(type, name, true, true).get("proxyBeanMethods"));
System.err.println(
AnnotatedElementUtils.findMergedAnnotationAttributes(type, name, true, true).get("proxyBeanMethods"));
prints
The code path in Spring is the second one (I think), via ConfigurationClassUtils.