2014-07-03 17 views
6

Tôi đang phát triển ứng dụng web bằng cách khởi động mùa xuân. Và tôi muốn cụm tomcat được khởi động vào mùa xuân 7. Tôi đã tìm kiếm cả ngày, nhưng câu trả lời hầu như đang sử dụng server.xml và apache. Nhưng cách sử dụng server.xml trên khởi động mùa xuân, tôi không thể tìm thấy nó. Tôi nghĩ rằng tôi cần sử dụng cấu hình nhiều trình kết nối và công cụ, v.v. Tôi không biết, đó là cách đúng đắn. Hãy chỉ đường cho tôi.Cụm Tomcat 7 được nhúng bằng spring-boot

Trả lời

2

Cuối cùng tôi đã tìm được giải pháp. Thực ra tôi đã tìm thấy một trang blog.

Đang sử dụng Redis.

Liên kết là http://dmitrijs.artjomenko.com/2014/02/storing-sessions-in-redis-with-spring.html

Ứng dụng của tôi được phát triển bởi java7, nhưng ví dụ được sử dụng java8.

Vì vậy, tôi sửa đổi một số mã, mã sửa đổi là dưới đây:

@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

Bạn có thể sử dụng một cân bằng tải (như nginx) để phân phối tải và Spring phiên để ra bên ngoài xử lý phiên làm việc.

Xem ví dụ here.