У меня есть приложение Java 1.6, развернутое на нескольких машинах (~ 30) и запущенное как служба Windows.
Моя основная проблема связана с обслуживанием этих развернутых артефактов: если я разрабатываю новую версию этого приложения, я не хочу вручную развертывать его на каждой машине.
В идеале, когда запускается служба Windows, она проверяет на удаленном сервере, существует ли обновление, и если оно найдено, то обновляет приложение. Обратите внимание, что вполне допустимо, что после обновления служба должна быть перезапущена снова.
Этот механизм можно сравнить с проверкой Maven snapshot: если на удаленном хранилище существует более новая версия SNAPSHOT
, то Maven загружает ее перед запуском.
Обратите внимание, что само приложение будет развернуто на Maven-репозитории (в нашем случае Nexus), поэтому проверка на наличие обновления будет производиться по этому экземпляру Nexus.
Каковы мои технические решения для реализации такого автоматического обновления приложения?
Не стесняйтесь спрашивать меня о технических деталях или о контексте...
Спасибо.
Редактировать: Как заявил Питер Лоури, я могу использовать Java Web Start. Однако, как я могу интегрировать JWS в Java-приложение, которое запускается как служба Windows?