Запуск нескольких веб-приложений в одном загрузочном контейнере spring

Я хотел бы иметь возможность иметь несколько веб-приложений, совместно использующих проект домена и работающих под разными контекстными пакетами.

Установив server.contextPath =/webshop в загрузочном приложении spring, мне не нужно префикс всех RequestMappings.

Я хотел бы, чтобы веб-мастер, администратор и главная страница могли совместно использовать общий проект домена, который содержит все сущности и общие службы.

Может быть, с чем-то вроде?

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

Моя проблема заключается в том, как запустить загрузочное приложение spring с общей моделью домена, а затем пару автономных веб-приложений с уникальными contextPaths?

Ответы

Ответ 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);
}

Он запускает два приложения на разных портах.