使用Spring Boot进行Memcached

时间:2014-09-11 13:38:26

标签: memcached spring-boot

我有一个使用spring-boot的应用程序,并且必须与其他遗留应用程序并行工作。

为此,我将使用memcached进行会话存储,只是因为我无法通过spring-boot在我的应用程序中使用memcached。

有人可以告诉我,我可能会在属性文件中添加与context.xml中此更改相对应的内容

<Manager 
    className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
    memcachedNodes="n1:servidor-memcached:11211"
    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
/>

我正在使用Tomcat 7

抱歉我的英文。

感谢。

1 个答案:

答案 0 :(得分:10)

Spring Boot没有为使用memcached进行会话存储提供任何开箱即用的支持,因此无法通过application.properties进行配置。

但是,您可以通过自定义嵌入式Tomcat实例以编程方式对其进行配置。以下Java配置等同于问题中的Tomcat context.xml

@Bean
public EmbeddedServletContainerFactory tomcat() {
    return new TomcatEmbeddedServletContainerFactory() {

        @Override
        protected void postProcessContext(Context context) {
            MemcachedBackupSessionManager manager = new MemcachedBackupSessionManager();
            manager.setMemcachedNodes("n1:servidor-memcached:11211");
            manager.setRequestUriIgnorePattern(".*\\.(ico|png|gif|jpg|css|js)$");
            context.setManager(manager);
        }

    };
}