2014-09-11 121 views
3

我有一个使用spring-boot的应用程序,并且必须与其他传统应用程序并行工作。Memcached with Spring Boot

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

有人请能告诉我什么,我会在对应于这种变化的context.xml

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

我使用的是Tomcat 7

对不起,我的英语属性文件中添加。

谢谢。

回答

9

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); 
     } 

    }; 
}