22
Июл
2021

Как запустить 2 контроллера в разных Tomcat контейнерах в одном Spring Boot приложении?

Есть 2 рест контроллера, условно:

@RestController
public class HttpsService {
    private final KeysRepository keysRepo;

    public HttpsService(KeysRepository keysRepo) {
        this.keysRepo = keysRepo;
    }
}

и

@RestController
public class HttpService {
    private final KeyPairRepository keysRepo;

    public HttpService(KeysRepository keysRepo) {
        this.keysRepo = keysRepo;
    }
}

Эти контроллеры имеют собственные эндпоинты и оба должны работать с одним и тем же репозиторием.

Вопрос: Как запустить контроллер HttpsService в HTTPS контейнере, а HttpService в HTTP контейнере? Чтобы при этом конфигурирование обоих контроллеров происходило из единого application.properties и оба контроллера имели доступ к одним и тем же репозиториям?

Java 11
Spring 2.5.2


Удалось только найти способ запуска одного приложения одновременно на HTTP и HTTPS, но это не то.
Ещё, как вариант, думаю, можно разнести эти контроллеры в разные приложения и написать ещё третий сервис, который будет выступать просто репозиторием с CRUD операциями, но тогда придётся запускать каждое приложение отдельно, что не очень-то удобно.

Источник: https://ru.stackoverflow.com/questions/1307757/%D0%9A%D0%B0%D0%BA-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D1%82%D0%B8%D1%82%D1%8C-2-%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0-%D0%B2-%D1%80%D0%B0%D0%B7%D0%BD%D1%8B%D1%85-tomcat-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0%D1%85-%D0%B2-%D0%BE%D0%B4%D0%BD%D0%BE%D0%BC-spring-boot-%D0%BF%D1%80%D0%B8%D0%BB

Тебе может это понравится...

Добавить комментарий