Sviluppo di applicazioni Web tramite avvio a molla. E voglio raggruppare il tomcat incorporato con avvio a molla 7. Ho cercato per tutto il giorno, ma le risposte stanno quasi usando server.xml e apache. Ma il modo di usare server.xml su spring-boot, non riuscivo a trovarlo. Penso di aver bisogno dell'uso della configurazione connettore multiplo, del motore e così via. Non so, è giusto. Per favore, mostrami la strada.Cluster Tomcat 7 incorporato con avvio a molla
6
A
risposta
2
Ho finalmente trovato la soluzione. In realtà ho trovato un blog.
Si utilizza Redis.
Il collegamento è http://dmitrijs.artjomenko.com/2014/02/storing-sessions-in-redis-with-spring.html
La mia applicazione è sviluppata da Java7, ma ad esempio sta usando java8.
Così, ho modificato un po 'di codice, il codice modificato è qui sotto:
@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");
}});
}
}
4
È possibile utilizzare un bilanciatore di carico (come nginx) per distribuire il carico e Spring-sessione di esternare la gestione delle sessioni.
Vedere l'esempio here.