Spring Cloud AWS:可选的缓存管理器

时间:2015-11-02 14:47:29

标签: caching spring-cloud amazon-elasticache

Spring缓存配置允许在CompositeCacheManager属性设置为true的情况下使用fallbackToNoOpCache回退到无缓存。如何将它与spring-cloud-aws缓存管理器一起使用,以便在指定不存在的缓存集群时,复合缓存管理器可以回退到无缓存?使用这样的示例配置:

<aws-cache:cache-manager>
    <aws-cache:cache-cluster name="CacheCluster" />
</aws-cache:cache-manager>

当没有配置名为CacheCluster的群集时,应用程序才会启动。如果CompositeCacheManager配置如下:

<aws-cache:cache-manager id="elasticacheManager">
    <aws-cache:cache-cluster name="CacheCluster" />
</aws-cache:cache-manager>

<bean id="cacheManager" class="org.springframework.cache.support.CompositeCacheManager">
    <property name="cacheManagers">
        <list>
            <ref bean="elasticacheManager" />
        </list>
    </property>
    <property name="fallbackToNoOpCache" value="true"/>
</bean>

使用不存在的缓存 CacheCluster ,然后应用程序无法启动抱怨:“没有定义名为'elasticacheManager'的bean”。 有没有办法以编程方式创建AWS缓存管理器并为此使用类似FactoryBean的东西?

1 个答案:

答案 0 :(得分:0)

目前,Spring Cloud AWS不支持回退缓存的配置。我将其作为功能请求添加到我们的待办事项中。在此期间,您可以使用我在参考应用程序中使用弹簧配置文件所做的相同解决方法(请参阅ReferenceApplication.java)。