복붙노트

[SPRING] 여러 포트에서 봄 부팅 2.0 듣기

SPRING

여러 포트에서 봄 부팅 2.0 듣기

임베디드 톰캣에서 수신하는 포트가 2 개 필요합니다. 8443 (https) 및 8081 (http)이라고 말하면됩니다.

스프링 부트 1.5.3.RELEASE와 같이 나는 다음과 같이했다.

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
    return new EmbeddedServletContainerCustomizer() {
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                TomcatEmbeddedServletContainerFactory containerFactory =
                        (TomcatEmbeddedServletContainerFactory) container;

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

그리고 괜찮 았어. 이제 spring-boot-startter-parent 2.0.0.M6을 사용하려고하는데 다음 클래스를 찾을 수 없습니다.

org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory

그래서 여러 포트에서 연결을 받아들이는 방법을 찾고 있습니다. 어떻게해야합니까?

해결법

  1. ==============================

    1.스프링 부트 2.0.0 M1 릴리스 노트는 다음과 같이 설명합니다.

    스프링 부트 2.0.0 M1 릴리스 노트는 다음과 같이 설명합니다.

    커밋 67556ba8ea로 시작하는 스프링 부트 소스 코드에서 :

    org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer가 org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory로 이동되었습니다.

    org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer가 org.springframework.boot.web.server.WebServerFactoryCustomizer로 이동되었습니다.

    org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory가 org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory로 이동되었습니다.

  2. from https://stackoverflow.com/questions/47554023/spring-boot-2-0-listening-on-multiple-ports by cc-by-sa and MIT license