2015-02-05 7 views
5

Sto usando spring boot (1.2.1 a partire da ora) e ho bisogno di aumentare il limite di default della dimensione dell'header richiesta 8k che vive nella classe HttpConfiguration in Jetty. Guardando in JettyEmbeddedServletContainerFactory cui posso entrare in possesso di via EmbeddedServletContainerCustomizer ma non riesco a vedere il modo come cambiare questo.Personalizzazione di HttpConfiguration di Jetty con Spring Boot

Ho anche dato un'occhiata allo JettyServerCustomizer - Capisco di poter accedere al molo Server tramite questo, ma ancora una volta - in nessun modo come modificare il HttpConfiguration qui.

Qualche consiglio sarà molto apprezzato.

risposta

9

È possibile utilizzare un JettyServerCustomizer per riconfigurare la HttpConfiguration ma è sepolto un po 'nel modello di configurazione di Jetty:

@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

Ah, ho rinunciato quando ha raggiunto i connettori e non è andato il modo abbattuti e oltre! Grazie mille –