2017-12-15 30 views
1

Springブート1.5.9で問題なく動作する次のインタフェースを使用しています:ConfigurableEmbeddedServletContainerEmbeddedServletContainerCustomizerです。Springブート2のEmbeddedServletContainerCustomizerとConfigurableEmbeddedServletContainer

スプリングブート2(2.0.0.M7)にアップグレードしましたが、これらのインターフェイスは存在しません。私たちは同じ目的で他のインターフェース用に変更されていると思っていますが、それらが何であるか分かりません。

誰かがSpring 1.5.9と同じ動作をするためにこのコードを修正する方法を知ってもらえますか?

私たちが持っているコードは次です:

@Bean 
public EmbeddedServletContainerCustomizer containerCustomizer() throws FileNotFoundException { 

    final TomcatConnectorCustomizer customizer = new MyTomcatConnectionCustomizer(absoluteKeystoreFile, 
      keystoreType, keystorePassword); 
    return new EmbeddedServletContainerCustomizer() { 

     @Override 
     public void customize(ConfigurableEmbeddedServletContainer container) { 
      if (container instanceof TomcatEmbeddedServletContainerFactory) { 
       TomcatEmbeddedServletContainerFactory containerFactory = (TomcatEmbeddedServletContainerFactory) container; 
       containerFactory.addConnectorCustomizers(customizer); 

       Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL); 
       connector.setPort(port); 
       containerFactory.addAdditionalTomcatConnectors(connector); 

      } 
     } 
    }; 
} 
+0

可能な複製.M1:パッケージはどこにありますか?org.springframework.boot.context.embed?](https://stackoverflow.com/questions/44028875/spring-boot-2-0-0-m1-where-is-the-package -org-springframework-boot-context-embe) –

+0

すでに解決済みです[こちら](https://stackoverflow.com/a/47554) 861/5873923)および[here](https://stackoverflow.com/a/44029322/5873923)を参照してください。 –

答えて

0

あなたはあなたのケースでは、BeanとしてConfigurableServletWebServerFactoryの実装を返す必要がTomcatServletWebServerFactory

@Bean 
public ConfigurableServletWebServerFactory webServerFactory() { 
    final TomcatConnectorCustomizer customizer = new MyTomcatConnectionCustomizer(absoluteKeystoreFile, 
     keystoreType, keystorePassword); 
    TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory(); 
    factory.addConnectorCustomizers(connector -> { 
     connector.setPort(port); 
    }, customizer); 
    return factory; 
} 
[春のブート2.0.0の
+0

@shazinありがとうございました。私はそれをテストし、正常にコンパイルします。私は今、私は安全なプロトコル(ProtocolHandler ["https-jsse-nio-443"]に関連したエンドポイントの開始に失敗しました)に問題があるので、テストできません。私はそれのための解決策を最初に見つけなければならない。 –

関連する問題