HotSwapAgent: как использовать его для классов внутри WAR-файлов? - PullRequest
0 голосов
/ 24 мая 2018

Итак, я нашел эту библиотеку под названием hotswapagent, и она позволяет вам выполнять горячую замену приложения, которое вы развертываете в контейнере приложения.Он прекрасно работает и с XML-конфигурациями, и с файлами классов, но в двух случаях:

  1. В некоторых WAR-файлах вы можете использовать другой jar для 'utils' и сохранить его как отдельную зависимостьдля основной войны.Как заменить файлы классов в моем банке, который зависит от моей основной WAR?

  2. Как настроить контейнеры веб-приложений, такие как Tomcat / Weblogic, на принятие изменений во внутренних банках во время выполнения?

1 Ответ

0 голосов
/ 20 июня 2018

Создайте файл hotswap-agent.properties в каталоге ресурсов (например, src/main/resources) вашего основного модуля.В этом файле установите extraClasspath в папку целевого класса модуля utils.Это будет выглядеть примерно так: extraClasspath=<path to utils module>/target/classes

Вот пример файла hotswap-agent.properties со значениями по умолчанию и комментариями, поясняющими каждую переменную: https://github.com/HotswapProjects/HotswapAgent/blob/master/hotswap-agent-core/src/main/resources/hotswap-agent.properties

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

...