Java-программа для загрузки измененного класса без перезапуска сервера

Мне нужна программа java/j2ee, которая будет загружать обновленный файл классов, когда сервер еще включен. В нашей среде тестирования веб-приложений несколько классов (файлов Java) часто меняются для исправления дефектов, и их необходимо загружать в JVM заново. Мы не можем перезапустить сервер, чтобы повлиять на ход тестирования.

Можем ли мы написать программу для загрузки с помощью загрузчика классов?

3 ответа

Нет, вы не можете, вам нужно иметь контейнер на стороне сервера. Хотя для вашего сервера, такого как tomcat, jboss, websphere и т. Д., Вы можете настроить их для горячего развертывания, но серверная сторона все равно нуждается в перезапуске после размещения нового файла класса. Если вы пытаетесь оперативно развернуть файл класса, вы можете попробовать использовать JRebel, это позволит вам оперативно развернуть файл класса без фактического перезапуска, поскольку он управляется в контейнере JRebel. (также обратите внимание, что JRebel не является бесплатным)

Возможна установка DCEVM.

Шаги для Eclipse http://hotswapagent.org/mydoc_setup_eclipse.html

Существует довольно много решений/плагинов, которые помогут вам выполнить горячее развертывание кода Java, избавив вас от необходимости полной сборки и перезапуска сервера. Я использовал jRebel, ранее доступный по адресу https://www.jrebel.com/products/jrebel . Существуют и другие подобные решения/инструменты, которые могут помочь вам в горячем развертывании.

Другие вопросы по тегам