Как передать отдельные аргументы командной строки для нескольких экземпляров веб-приложения на сервере Tomcat - PullRequest
0 голосов
/ 08 октября 2019

У нас есть сервер Tomcat и работает. Мы хотим, чтобы наше приложение работало как 5 независимых экземпляров на этом сервере Tomcat. Каждому экземпляру нужен свой набор аргументов командной строки для правильной работы.

Как мы можем передать эти аргументы для каждого экземпляра?

Мы запускаем текущую версию сервера tomcat. У нас есть Spring-Boot-Application, который должен работать как 5 экземпляров на этом сервере Tomcat. Это делается для того, чтобы каждый экземпляр заботился об одном порту и на бизнес-уровне обслуживал свою среду (dev, test, ...).

Мы используем разные пружинные профили для каждой среды, и поэтому нам необходимопередать их каждому экземпляру, работающему на tomcat.

Дело в том, что мы не можем понять, как передать эти аргументы. Кажется, нет конфигурации для этого в каждом случае. Мы знаем о JAVA_OPTS, которые используются на всем tomcat.

Мы думали о том, чтобы объявить переменные окружения этих аргументов, но: - потенциальные другие приложения не должны знать об этих конфигурациях. - конфигурация довольно специфична для каждого отдельного случая, и поэтому создается много «шума», который может быть трудно поддерживать в будущем.

Поскольку мы ищем правильное место и правильный способ сделать это, естькода пока нет.

Ожидаемый результат: 5 экземпляров одного и того же приложения запущены и работают на сервере Tomcat, каждый из которых настраивается индивидуально. Надеялся на: Способ изменить config.xmls или пакетный скрипт для передачи аргументов командной строки.

Ответы [ 2 ]

1 голос
/ 08 октября 2019

Вы не можете задать параметры при развертывании войны, так что об этом не может быть и речи.

Вам нужно будет сделать 5 сборок, но затем вы можете установить профили, которые будут использоваться в application.properties,Автоматизировать не должно быть слишком сложно, и технически вам нужно построить только один раз, если вы затем сделаете копии войны и замените файл свойств.

0 голосов
/ 29 октября 2019

Обновление: к чему мы наконец пришли: у нас есть отдельный context.xml для каждого экземпляра и каждой среды. Разница context.xmls управляется в хранилище.

Во время развертывания соответствующий context.xml копируется рядом с war-файлом. Мы очень довольны этим решением, поскольку нам удалось автоматизировать весь процесс и даже создать хранилище контекста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...