我有一个使用 spring-boot 的应用程序,并且必须与其他旧应用程序并行工作。
为此,我将使用 memcached 进行 session 存储,只是我找不到在带有 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
抱歉我的英语不好。
谢谢。
最佳答案
Spring Boot 不提供任何使用 memcached 进行 session 存储的开箱即用的支持,因此无法通过 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);
}
};
}
关于Memcached 与 Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25788969/