Итак, у меня есть небольшое веб-приложение Tomcat, которое я запускаю, со следующей структурой:
- Главный сервлет
- Класс для работы A
- Класс для работы B
- Класс для работы C
- Тонны классов, используемых для выполнения различных заданий
Веб-приложение компилируется и развертывается через ant. На данный момент у меня есть хороший Project.war со всеми классами.
По сути, главный сервлет работает как диспетчер. В зависимости от полученного веб-запроса запускается задание A, B или C в новом потоке.
Я хочу улучшить свое приложение, чтобы можно было повторно развернуть класс для задания A / B / C, не затрагивая запущенные процессы. Вот как я это концептуализирую:
- Я разворачиваю основной сервлет, используемый как диспетчер.
- Я развертываю A.war, B.war, C.war
- Я бегу B.war
- Я перебрасываю A.war, B.war все еще работает
- Я бегу A.war
- B.war выполнен, его вывод отправляется обратно через главный сервлет.
Честно говоря, я понятия не имею, с чего начать и на что посмотреть. Я думал об использовании ProcessBuilder и выполнении jar / war в командной строке, но это кажется самым небезопасным делом.
Любой вклад приветствуется.
Спасибо !