Skip to content

Reduce footprint due to RootBeanDefinition [SPR-11343] #15967

Closed
@spring-projects-issues

Description

@spring-projects-issues

AdiB opened SPR-11343 and commented

Related to #12149
RootBeanDefinition members (externallyManagedConfigMember, externallyManagedInitMethods,externallyManagedDestroyMethods) are initialized even if not in use.
Setting ConcurrentHashMap initial size as 0 is not good enough it still allocates a map with ~ 10 empty elements.

Should delay the initialization.

For example -

public void registerExternallyManagedConfigMember(Member configMember) {
    if (externallyManagedConfigMembers == null){
        externallyManagedConfigMembers = new ConcurrentHashMap<Member, Boolean>(0);
    }
	this.externallyManagedConfigMembers.put(configMember, Boolean.TRUE);
}

public boolean isExternallyManagedConfigMember(Member configMember) {
    if (externallyManagedConfigMembers == null){
        return false;
    }
	return this.externallyManagedConfigMembers.containsKey(configMember);
}

Affects: 3.2.6, 4.0 GA

Issue Links:

Referenced from: commits d9ab6aa, a599b57

Backported to: 3.2.7

Metadata

Metadata

Assignees

Labels

status: backportedAn issue that has been backported to maintenance branchestype: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions