我使用spring-boot开发web应用程序。 我想集群spring-boot嵌入式tomcat 7。 我整天都在搜索,但答案几乎都是使用server.xml和apache。 但是在spring-boot上使用server.xml的方式,我无法找到它。 我想我需要使用配置多连接器和引擎等。 我不知道,这是正确的方式。 请告诉我。
答案 0 :(得分:4)
您可以使用负载均衡器(例如nginx)来分配负载和Spring会话以外部化会话处理。
参见示例here。
答案 1 :(得分:2)
我终于找到了解决方案。其实我找到了一个博客网站。
正在使用 Redis 。
链接为http://dmitrijs.artjomenko.com/2014/02/storing-sessions-in-redis-with-spring.html
我的应用程序是由java7开发的,但是示例是使用java8。
所以,我修改了一些代码,修改后的代码如下:
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
return new EmbeddedServletContainerCustomizer() {
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
TomcatEmbeddedServletContainerFactory containerFactory = (TomcatEmbeddedServletContainerFactory) container;
containerFactory.addContextValves(new RedisSessionHandlerValve());
ArrayList<MyTomcatContextCustomizer> customizers = Lists.newArrayList(new MyTomcatContextCustomizer());
containerFactory.setTomcatContextCustomizers(customizers);
}
};
}
public class MyTomcatContextCustomizer implements TomcatContextCustomizer {
@Override
public void customize(Context context) {
context.setSessionTimeout(30);
context.setManager(new RedisSessionManager() {{
setHost("127.0.0.1");
}});
}
}