in jetcache-starter/jetcache-autoconfigure/src/main/java/com/alicp/jetcache/autoconfigure/RedisSpringDataAutoConfiguration.java [46:67]
protected CacheBuilder initCache(ConfigTree ct, String cacheAreaWithPrefix) {
Map<String, RedisConnectionFactory> beans = applicationContext.getBeansOfType(RedisConnectionFactory.class);
if (beans == null || beans.isEmpty()) {
throw new CacheConfigException("no RedisConnectionFactory in spring context");
}
RedisConnectionFactory factory = beans.values().iterator().next();
if (beans.size() > 1) {
String connectionFactoryName = ct.getProperty("connectionFactory");
if (connectionFactoryName == null) {
throw new CacheConfigException(
"connectionFactory is required, because there is multiple RedisConnectionFactory in Spring context");
}
if (!beans.containsKey(connectionFactoryName)) {
throw new CacheConfigException("there is no RedisConnectionFactory named "
+ connectionFactoryName + " in Spring context");
}
factory = beans.get(connectionFactoryName);
}
ExternalCacheBuilder builder = RedisSpringDataCacheBuilder.createBuilder().connectionFactory(factory);
parseGeneralConfig(builder, ct);
return builder;
}