복붙노트

[SPRING] 하나의 스프링 부트 컨테이너에서 여러 웹 앱 실행

SPRING

하나의 스프링 부트 컨테이너에서 여러 웹 앱 실행

도메인 프로젝트를 공유하고 다른 contextPath를 사용하여 여러 웹 응용 프로그램을 공유하고 싶습니다.

server.contextPath = / webshop을 봄 부팅 응용 프로그램에서 설정하면 모든 RequestMappings에 접두어를 붙일 필요가 없습니다.

webshop, admin 및 기본 페이지에서 모든 엔티티와 공통 서비스가 포함 된 공통 도메인 프로젝트를 공유하고 싶습니다.

어쩌면 뭔가있을거야?

public static void main(String[] args) {
    new SpringApplicationBuilder(Domain.class)
        .showBanner(false)
        .child(Admin.class, Webshop.class)
        .run(args);
}

내 문제는 공통 도메인 모델을 가진 스프링 부팅 응용 프로그램을 시작한 다음 고유 컨텍스트 경로가있는 독립 실행 형 웹 응용 프로그램을 시작하는 것입니다.

해결법

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

    1.예를 들면 다음과 같습니다.

    예를 들면 다음과 같습니다.

    public static void main(String[] args) {
        start(Admin.class, Webshop.class).run(args);
        start(Another.class).properties("server.port=${other.port:9000}").run(args);
    }
    
    private static SpringApplicationBuilder start(Class<?>... sources) {
        return new SpringApplicationBuilder(Domain.class)
            .showBanner(false)
            .child(sources);
    }
    

    다른 포트에서 두 개의 앱을 시작합니다.

  2. from https://stackoverflow.com/questions/25868218/run-multiple-web-apps-in-one-spring-boot-container by cc-by-sa and MIT license