h1. WinSW h2. Windows Service Wrapper (WinSW) - это модуль, который оборачивает любое приложение и управляет им как службой Windows. 1) Необходимо скачать "WinSW":https://rm.cwms3000.ru/attachments/download/13837/WinSW-x64.exe: 2) Создать папку на локальном диске с названием *(Например myapp)* !1.png! 3) Перенести ранее скаченный файл WinSW в созданную нами папку. !2.png! 4) Переименовать файл WinSW в название сервиса, который вы будете оборачивать, как службу. (Например myapp) !3.png! 5) Создать одноименный файл XML, в данном случае myapp.xml !4.png! 6) Открыть файл на редактирование с помощью текстового редактора, в данном случае используем notepad++ !5.png! 7) Копируем пример конфигурации ниже {{collapse(Теги:) *Расширение переменной среды XML-файлы конфигурации могут включать расширения переменных среды в форме %Name%. Такие вхождения, если они будут найдены, будут автоматически заменены фактическими значениями переменных. Если имеется ссылка на неопределенную переменную среды, подстановки не происходит.* *Кроме того, оболочка службы сама устанавливает переменную среды BASE, указывающую на каталог, содержащий переименованный файл WinSW.exe . Это полезно для ссылки на другие файлы в том же каталоге. Поскольку это переменная среды сама по себе, к этому значению можно также получить доступ из дочернего процесса, запущенного из оболочки службы.* * id - *Обязательный*. Указывает идентификатор, который Windows использует для внутренней идентификации службы. Он должен быть уникальным среди всех служб, установленных в системе, и должен полностью состоять из буквенно-цифровых символов.
myapp
* name - *Необязательный* .
Краткое отображаемое имя службы, которое может содержать пробелы и другие символы. Оно не должно быть слишком длинным, например как в теге
myapp(powered by WinSW)
* description - *Необязательный*.
Длинное удобочитаемое описание услуги. Это отображается в диспетчере служб Windows при выборе службы.
run myapp service
* executable - *Обязательный*.
Этот элемент указывает запускаемый исполняемый файл. Это может быть либо абсолютный путь, либо вы можете просто указать имя исполняемого файла и разрешить его поиск PATH(хотя обратите внимание, что службы часто запускаются в другой учетной записи пользователя и, следовательно, могут отличаться PATH от вашей оболочки).
java
* arguments - *Необязательный*.
Элемент указывает аргументы (параметры), которые необходимо передать исполняемому файлу.
-jar
http-dpc-service-0.0.1-SNAPSHOT.jar
--spring.datasource.url=jdbc:oracle:thin:@192.168.1.64:1521:ful
--spring.datasource.username=ful
--spring.datasource.password=ful
--server.servlet.contextPath=/cwms
--debug=false
* logpath - *Необязательный*
Элемент указывает каталог, в котором создаются файлы журнала. Если этот элемент отсутствует, по умолчанию он будет находиться в том же каталоге, где находится файл конфигурации.
%BASE%\logs
* log (
** mode="reset"
Работает так же, как и режим добавления, за исключением того, что при каждом запуске службы старые файлы журнала усекаются.
** mode="none"
Данный режим отключает логирование.
** mode="roll-by-size"
Работает как режим добавления, но, кроме того, если файл журнала становится больше заданного размера, он скатывается в myapp.1.out.log , myapp.2.out.log и так далее. Вложенный
10240
8
** mode="roll-by-time">
Работает так же, как режим прокрутки, за исключением того, что вместо размера в качестве порога используется период времени в качестве порога.
Эта конфигурация должна сопровождать вложенный
yyyyMMdd
** mode="roll-by-size-time"
Работает в сочетании режима размера файла и режима времени файла. Если файл журнала становится больше заданного размера, он свертывается с использованием
10240
yyyyMMdd
00:00:00
* delayedAutoStart - *Необязательный*
Этот логический параметр включает режим отложенного запуска, если режим Automaticзапуска определен.
Обратите внимание, что этот режим запуска не повлияет на старые версии Windows старше Windows 7 и Windows Server 2008. В этом случае установка службы Windows может завершиться ошибкой.
true
* onfailure - *Необязательный*
Этот необязательный повторяющийся элемент управляет поведением, когда процесс, запущенный winsw, дает сбой (т. е. завершается с ненулевым кодом выхода).
Например, в приведенной выше конфигурации служба перезапускается через 10 секунд после первого сбоя, перезапускается через 20 секунд после второго сбоя, а затем Windows перезагружается, если служба дает сбой еще раз.
*Действие (action):*
** restart - перезапустить службу
** reboot - перезагрузить Windows
** none - ничего не делать и оставить службу остановленной
* workingdirectory - *Необязательный*
Некоторые службы должны работать с указанным рабочим каталогом. Для этого укажите такой
C:\myapp
* priority - *Необязательный*
При необходимости укажите приоритет планирования процесса обслуживания.
normal
}}
myapp
myapp(powered by WinSW)
run myapp service
java
-jar mcis-mobile-service_0.0.6-WOL.jar
--spring.datasource.url=jdbc:oracle:thin:@192.168.1.89:1521:tst
--spring.datasource.username=tst
--spring.datasource.password=st
--server.port=10081
--app.session.timeout=900000
%BASE%\logs
10240
8
true
C:\myapp
normal
8) Вставляем конфигурацию в файл открытый на редактировании.
!6.png!
9) Запустить myapp.exe install [options], чтобы установить службу.
{{collapse(Опции (Options))
* --no-elevate - Не вызывает автоматически запрос UAC.
* --user|--username