# Nothing in application.yml selects a provider. Something still chose one. spring.cache.type : (not set) resolved CacheManager bean : org.springframework.cache.caffeine.CaffeineCacheManager Caffeine is on this module's classpath because a later chapter needs TTL and size bounds. That single dependency moved every cache in the application off the ConcurrentHashMap-backed 'simple' provider, because Boot walks a fixed detection order and stops at the first provider it finds: 1 Generic 2 JCache 3 Hazelcast 4 Infinispan 5 Couchbase 6 Redis 7 Caffeine 8 Cache2k 9 Simple Nothing logs the decision at INFO. If a cache suddenly starts expiring entries, or stops, look at what changed in the dependency tree.