programing

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

oldcodes 2023. 7. 13. 21:06
반응형

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

저는 도메인 프로젝트를 공유하고 다른 contextPath에서 실행되는 여러 웹 앱을 가지고 싶습니다.

봄 부팅 앱에서 server.contextPath=/webshop을 설정하면 모든 RequestMappings에 접두사를 붙일 필요가 없습니다.

저는 웹샵, 관리자, 메인 페이지가 모든 엔티티와 공통 서비스를 포함하는 공통 도메인 프로젝트를 공유하기를 원합니다.

아마도 비슷한 것으로?

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

문제는 공통 도메인 모델을 사용하여 스프링 부팅 앱을 시작한 다음 고유한 contextPath를 사용하여 몇 개의 독립형 웹 앱을 시작하는 방법입니다.

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

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);
}

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

언급URL : https://stackoverflow.com/questions/25868218/run-multiple-web-apps-in-one-spring-boot-container

반응형