ConfigurationClassParser avoids double registration of nested classes which extend their containing class

Issue: SPR-12195
This commit is contained in:
Juergen Hoeller
2014-09-16 17:08:30 +02:00
parent f394c8aa2a
commit 824c90d2bf
3 changed files with 36 additions and 1 deletions

View File

@@ -311,7 +311,8 @@ class ConfigurationClassParser {
*/
private void processMemberClasses(ConfigurationClass configClass, SourceClass sourceClass) throws IOException {
for (SourceClass memberClass : sourceClass.getMemberClasses()) {
if (ConfigurationClassUtils.isConfigurationCandidate(memberClass.getMetadata())) {
if (ConfigurationClassUtils.isConfigurationCandidate(memberClass.getMetadata()) &&
!memberClass.getMetadata().getClassName().equals(configClass.getMetadata().getClassName())) {
processConfigurationClass(memberClass.asConfigClass(configClass));
}
}