[SPRING] 두 개의 포트로 스프링 부트 설정하기
SPRING두 개의 포트로 스프링 부트 설정하기
두 개의 다른 포트와 함께 Spring Boot에서 응용 프로그램을 구성하려고하지만 아직 가지지 못했습니다. 첫 번째 aproximation은 두 개의 컨트롤러로 이루어졌으며 container.setPort (8080)로 두 컨트롤러 내에 @Bean을 정의했습니다. 그리고 두 번째로 대두되는 것은 액츄에이터 종속성을 추가하고 managament의 포트를 변경했지만 내 응용 프로그램은 실행되지 않습니다. "이미 사용중인 주소 : 바인드", 응용 프로그램을 두 개의 포트로 구성하려면 어떻게합니까? 내가 관리자를위한 하나의 포트를 원하고 다른 포트가 내 API의 상담을 원한다.
해결법
-
==============================
1.이전에 언급했듯이 server.port 및 management.port와 management.context-path 속성은 임베디드 컨테이너가 다른 포트 (액추에이터 끝점에 액세스하기위한 관리 관련 속성)에서 수신 대기하도록 설정할 수 있습니다.
이전에 언급했듯이 server.port 및 management.port와 management.context-path 속성은 임베디드 컨테이너가 다른 포트 (액추에이터 끝점에 액세스하기위한 관리 관련 속성)에서 수신 대기하도록 설정할 수 있습니다.
server.port 및 management.port 이외의 포트에서 수신 대기하려면 다음을 수행하십시오.
@Configuration public class EmbeddedTomcatConfiguration { @Value("${server.additionalPorts}") private String additionalPorts; @Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); Connector[] additionalConnectors = this.additionalConnector(); if (additionalConnectors != null && additionalConnectors.length > 0) { tomcat.addAdditionalTomcatConnectors(additionalConnectors); } return tomcat; } private Connector[] additionalConnector() { if (StringUtils.isBlank(this.additionalPorts)) { return null; } String[] ports = this.additionalPorts.split(","); List<Connector> result = new ArrayList<>(); for (String port : ports) { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); connector.setPort(Integer.valueOf(port)); result.add(connector); } return result.toArray(new Connector[] {}); } }
application.yml
server: port: ${appPort:8800} additionalPorts: 8881,8882
Application.java
@SpringBootApplication @ComponentScan(...) @Import(EmbeddedTomcatConfiguration.class) public Application { public static void main(String[] args) { SpringApplication.run(Application .class, args); } }
최근에이 주제에 대해 http://tech.asimio.net/2016/12/15/Configuring-Tomcat-to-Listen-on-Multiple-ports-using-Spring-Boot.html에서 블로그를 보았습니다.
-
==============================
2.액추에이터 관리 포트를 변경하려면 속성을 사용할 수 있습니다
액추에이터 관리 포트를 변경하려면 속성을 사용할 수 있습니다
management.port=8081
전체 속성 목록보기
최신 정보: 액츄에이터는이 경우 Embedded Tomcat (서블릿 컨테이너) 인스턴스를 하나 더 생성합니다. 여기와 여기를 참조하십시오.
from https://stackoverflow.com/questions/36357135/configure-spring-boot-with-two-ports by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] NoSuchMethodError : org.jboss.logging.Logger.debugf (0) | 2018.12.27 |
---|---|
[SPRING] Spring-Hibernate - 현재 스레드에 대한 세션이 없습니다. (0) | 2018.12.27 |
[SPRING] JavaConfig로 스프링 보안에서 ROLE_ 접두사를 어떻게 제거합니까? (0) | 2018.12.27 |
[SPRING] Java 11과 호환되는 최소 스프링 버전 (0) | 2018.12.27 |
[SPRING] Spring restTemplate을 사용하여 302 리디렉션을 따릅니 까? (0) | 2018.12.27 |