2015-02-05 15 views
5

Tôi đang sử dụng khởi động mùa xuân (1.2.1 lúc này) và tôi cần tăng giới hạn kích thước tiêu đề yêu cầu 8k mặc định trong lớp HttpConfiguration trong Jetty. Nhìn vào JettyEmbeddedServletContainerFactory mà tôi có thể giữ thông qua EmbeddedServletContainerCustomizer nhưng không thể thấy cách thay đổi điều đó.Tùy chỉnh HttpConfiguration của cầu tàu với khởi động mùa xuân

Tôi cũng đã xem trên số JettyServerCustomizer - Tôi hiểu rằng tôi có thể giữ cầu nối Server qua điều đó nhưng một lần nữa - không có cách nào để thay đổi HttpConfiguration tại đây.

Mọi mẹo sẽ được đánh giá cao.

Trả lời

9

Bạn có thể sử dụng một JettyServerCustomizer để cấu hình lại HttpConfiguration nhưng nó chôn một chút trong mô hình cấu hình Jetty của:

@Bean 
public EmbeddedServletContainerCustomizer customizer() { 
    return new EmbeddedServletContainerCustomizer() { 

     @Override 
     public void customize(ConfigurableEmbeddedServletContainer container) { 
      if (container instanceof JettyEmbeddedServletContainerFactory) { 
       customizeJetty((JettyEmbeddedServletContainerFactory) container); 
      } 
     } 

     private void customizeJetty(JettyEmbeddedServletContainerFactory jetty) { 
      jetty.addServerCustomizers(new JettyServerCustomizer() { 

       @Override 
       public void customize(Server server) { 
        for (Connector connector : server.getConnectors()) { 
         if (connector instanceof ServerConnector) { 
          HttpConnectionFactory connectionFactory = ((ServerConnector) connector) 
            .getConnectionFactory(HttpConnectionFactory.class); 
          connectionFactory.getHttpConfiguration() 
            .setRequestHeaderSize(16 * 1024); 
         } 
        } 
       } 
      }); 
     } 
    }; 

} 
+0

Hà, tôi đã từ bỏ khi đạt đến Connectors và không đi theo con đường nhìn xuống và tiếp tục! Cảm ơn nhiều –

Các vấn đề liên quan