Spring Cloud AWS:可选缓存管理器
Spring Cloud AWS: optional cache manager
Spring 缓存配置允许使用 CompositeCacheManager
并将 fallbackToNoOpCache
属性 设置为 true 回退到无缓存。这如何与 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,然后应用程序无法启动抱怨:"No bean named 'elasticacheManager' is defined"。
有没有办法以编程方式创建 AWS 缓存管理器并为此使用 FactoryBean 之类的东西?
目前Spring Cloud AWS 不支持回退缓存的配置。我会将其作为功能请求添加到我们的积压工作中。同时,您可以使用我在参考应用程序中使用 spring 配置文件(参见 ReferenceApplication.java)所做的相同解决方法。
Spring 缓存配置允许使用 CompositeCacheManager
并将 fallbackToNoOpCache
属性 设置为 true 回退到无缓存。这如何与 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,然后应用程序无法启动抱怨:"No bean named 'elasticacheManager' is defined"。 有没有办法以编程方式创建 AWS 缓存管理器并为此使用 FactoryBean 之类的东西?
目前Spring Cloud AWS 不支持回退缓存的配置。我会将其作为功能请求添加到我们的积压工作中。同时,您可以使用我在参考应用程序中使用 spring 配置文件(参见 ReferenceApplication.java)所做的相同解决方法。