Элегантный запуск Felix'а под Windows
Решил с пользой использовать грядущие каникулы и замутить в школе на ученических машинах Felix-окружение, чтобы запускать (или, напротив, гасить) всякие сервисы и приложения. Но есть одна проблема. Давайте вспомним, как апускается Felix:
Если в Linux'e эту команду можно без проблем спрятать в загрузочный скрипт, то под Windows на экран при автозагрузке вылезет консоль «командной строки», которая, во-первых, никак не украшает сеанс работы пользователя (и скорее всего он ее рано или поздно «случайно» закроет). Во-вторых, нужно точно указать в каком каталоге всё это происходит, а это в Windows не так просто как кажется. Даже если как-нибудь исхитриться и спрятать консоль, такое решение нельзя будет назвать профессиональным. А профессиональным решением является организация таких вещей в виде сервисов.
Оказывается, есть API для запуска Java-приложений (как правило всяких демонов) в виде Windows-сервисов.
Как это сделать рассказано здесь. Скачать пакет можно здесь. Внимание! Там есть платные варианты и Community-сборка, брать нужно именно ее во избежание копирастических проблем.
В комплект входит пробный сервис, в настроечном файле которого нужно поменять лишь имя главного класса, ну и, для порядка, название сервиса (например, Felix Remote Shell вместо Test Application). После этого запускается InstallService.bat — и пожалуйста, ваше приложение появляется в списке системных служб.
Не буду углубляться в подробности конфигурирования по причине позднего часа (отвечу в комментах, если кто-то заинтересуется деталями). Скажу лишь, что на освоение этой технологии у меня ушло около часа. Результат на лицо: Felix Remote Shell запускается при загрузке Windows (в виртуальной машине, конечно, не подумайте плохого!):
… и с нетерпением ждет наших распоряжений на порту 6666
Sapienti sat.
java -jar bin/felix.jar
Если в Linux'e эту команду можно без проблем спрятать в загрузочный скрипт, то под Windows на экран при автозагрузке вылезет консоль «командной строки», которая, во-первых, никак не украшает сеанс работы пользователя (и скорее всего он ее рано или поздно «случайно» закроет). Во-вторых, нужно точно указать в каком каталоге всё это происходит, а это в Windows не так просто как кажется. Даже если как-нибудь исхитриться и спрятать консоль, такое решение нельзя будет назвать профессиональным. А профессиональным решением является организация таких вещей в виде сервисов.
Оказывается, есть API для запуска Java-приложений (как правило всяких демонов) в виде Windows-сервисов.
Как это сделать рассказано здесь. Скачать пакет можно здесь. Внимание! Там есть платные варианты и Community-сборка, брать нужно именно ее во избежание копирастических проблем.
В комплект входит пробный сервис, в настроечном файле которого нужно поменять лишь имя главного класса, ну и, для порядка, название сервиса (например, Felix Remote Shell вместо Test Application). После этого запускается InstallService.bat — и пожалуйста, ваше приложение появляется в списке системных служб.
Не буду углубляться в подробности конфигурирования по причине позднего часа (отвечу в комментах, если кто-то заинтересуется деталями). Скажу лишь, что на освоение этой технологии у меня ушло около часа. Результат на лицо: Felix Remote Shell запускается при загрузке Windows (в виртуальной машине, конечно, не подумайте плохого!):
… и с нетерпением ждет наших распоряжений на порту 6666
Sapienti sat.
Комментарии (5)
RSS свернуть / развернутьSergei_T
yababay
тока на чужих компах если
Для тестов пойдет, серъезный сервер все равно на Linux будет
Sergei_T
Markony
FREExLOADER
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.