If you have an @Enable… annotation, itself not being annotated with @Inherited, the related ImportBeanDefinitionRegistrar is still invoked multiple times when used in inheritance scenarios for configuration classes.
Apparently this is a bit worse than expected. The linked tickets were dealing with an issue of multiple invocations of the registrar, while this one is about a wrong invocation (for the wrong config class and thus not carrying the annotation attributes). I've tried all release versions back to 3.2 M1 and none of them invokes the registrar correctly if the annotation is on the superclass and the context was created with a subtype of that configuration class.
Ollie, it seems this is effectively the same issue as #15491 where I've addressed the same kind of arrangement for the 4.0 line.
Indeed, it seems this was never actually supported, and never documented to be supported either. So from that perspective, it arguably doesn't have to be fixed for the 3.2.x line, except maybe for better error reporting there.
Do you see it as critical for 3.2.x or would you be alright with it only being supported as of 4.0 as well?
Thanks for fixing this in the 3.2.x line. I'd argue the issue is probably more considered a bug as annotations like @EnableTransactionManagement work in this scenario (as they're backend by an ImportSelector instead of an ImportBeanDefinitionRegistrar) and others will not.