2014-09-11 144 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); 
     } 

    }; 
}