GuavaCacheManager ignores cache specification due to eager initialization of internal cache map with static cache names [SPR-12120] #16736
Labels
in: core
Issues in core modules (aop, beans, core, context, expression)
status: backported
An issue that has been backported to maintenance branches
type: bug
A general bug
Milestone
Frank Scheffler opened SPR-12120 and commented
We are using GuavaCacheManagers with explicit cache names configured, since we combine them using the CompositeCacheManager and require different cache specifications for each cache. When injection both a cache builder specification and cache names, the order of calling the appropriate setters is important, since setCacheNames() eagerly initializes the internal cache map, while setCacheSpecification() then tries to modify the CacheBuilder. Thus, the specification is effectively ignored without any errors.
I strongly suggest storing the configured cache names as list of strings and initializing them in an afterPropertiesSet() method.
So far, our work-around is to switch the order of the property XML tags in our XML configuration file, but this seems odd, since the order usually shouldn't matter.
Affects: 4.0.6
Issue Links:
Referenced from: commits d47c543, e1a01d4
Backported to: 4.0.7
The text was updated successfully, but these errors were encountered: