Description
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:
- ConcurrentMapCacheManager has interdependent setters [SPR-12026] #16642 ConcurrentMapCacheManager has interdependent setters
Referenced from: commits d47c543, e1a01d4
Backported to: 4.0.7