Установка как служба Windows

Для настройки запуска Inpolus ESB как службы Windows, обратитесь к описанию в следующих разделах:

Требования к установке

Настройка конфигурационного файла YAJSW

Файл конфигурации YAJSW - wrapper.conf, расположен в папке <YAJSW_HOME>/conf/ и в папке <PRODUCT_HOME>/bin/yajsw/. Ниже приведен минимальный файл конфигурации wrapper.conf для настройки запуска Inpolus ESB как службы Windows. Откройте wrapper.conf, скорректируйте свойства как указано ниже, сохраните его в директории <YAJSW_HOME>/conf/.

Если необходимо получить доступ к свойствам внешнего реестра необходимо создать Java код который обращается к свойствам реестра во время исполнения. Убедитесь что чувствительные данные для доступа к внешнему реестру (логин/пароль) хранятся в файле свойств, а не в Java коде и файл находится в защищенном хранилище.
Минимальный файл конфигурации wrapper.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
#********************************************************************
#*working directory
#********************************************************************
wrapper.working.dir=${carbon_home}\\
#*Java Main class.
#*YAJSW: default is "org.rzo.yajsw.app.WrapperJVMMain"
#*DO NOT SET THIS PROPERTY UNLESS YOU HAVE YOUR OWN IMPLEMENTATION
#*wrapper.java.mainclass=
#********************************************************************
#*tmp folder
#*yajsw creates temporary files named in_.. out_.. err_.. jna..
#*per default these are placed in jna.tmpdir.
#*jna.tmpdir is set in setenv batch file to /tmp
#********************************************************************
wrapper.tmp.path = ${jna_tmpdir}
#********************************************************************
#*Application main class or native executable
#*One of the following properties MUST be defined
#********************************************************************
#*Java Application main class
wrapper.java.app.mainclass=org.wso2.carbon.bootstrap.Bootstrap
#*Log Level for console output. (See docs for log levels)
wrapper.console.loglevel=INFO
#*Log file to use for wrapper output logging.
wrapper.logfile=${wrapper_home}\/log\/wrapper.log
#*Format of output for the log file. (See docs for formats)
#wrapper.logfile.format=LPTM
#*Log Level for log file output. (See docs for log levels)
#wrapper.logfile.loglevel=INFO
#*Maximum size that the log file will be allowed to grow to before
#*the log is rolled. Size is specified in bytes. The default value
#*of 0, disables log rolling by size. May abbreviate with the 'k' (kB) or
#*'m' (mB) suffix. For example: 10m = 10 megabytes.
#*If wrapper.logfile does not contain the string ROLLNUM it will be automatically added as suffix of the file name
wrapper.logfile.maxsize=10m
#*Maximum number of rolled log files which will be allowed before old
#*files are deleted. The default value of 0 implies no limit.
wrapper.logfile.maxfiles=10
#*Title to use when running as a console
wrapper.console.title="Polus ESB"
#********************************************************************
#*Wrapper Windows Service and Posix Daemon Properties
#********************************************************************
#*Name of the service
wrapper.ntservice.name="POLUSESB"
#*Display name of the service
wrapper.ntservice.displayname="Polus ESB"
#*Description of the service
wrapper.ntservice.description="Polus ESB Runtime"
#********************************************************************
#*Wrapper System Tray Properties
#********************************************************************
#*enable system tray
wrapper.tray = true
#*TCP/IP port. If none is defined multicast discovery is used to find the port
#*Set the port in case multicast is not possible.
wrapper.tray.port = 15002
#********************************************************************
#*Exit Code Properties
#*Restart on non zero exit code
#********************************************************************
wrapper.on_exit.0=SHUTDOWN
wrapper.on_exit.default=RESTART
#********************************************************************
#*Trigger actions on console output
#********************************************************************
#*On Exception show message in system tray
wrapper.filter.trigger.0=Exception
wrapper.filter.script.0=../scripts/trayMessage.gv
wrapper.filter.script.0.args=Exception
#********************************************************************
#*genConfig: further Properties generated by genConfig
#********************************************************************
placeHolderSoGenPropsComeHere=
wrapper.java.command = ${java_home}\\bin\\java
wrapper.java.classpath.1 = ${carbon_home}\\bin\\*.jar
wrapper.java.classpath.2 = ${carbon_home}\\wso2\\lib\\*.jar
wrapper.app.parameter.1 = org.wso2.carbon.bootstrap.Bootstrap
wrapper.app.parameter.2 = RUN
wrapper.java.additional.2 = -Xms256m
wrapper.java.additional.3 = -Xmx1024m
wrapper.java.additional.4 = -XX:MaxPermSize=256m
wrapper.java.additional.5 = -XX:+HeapDumpOnOutOfMemoryError
wrapper.java.additional.6 = -XX:HeapDumpPath=${carbon_home}\\repository\\logs\\heap-dump.hprof
wrapper.java.additional.7 = -Dcom.sun.management.jmxremote
wrapper.java.additional.8 = -Dcarbon.registry.root=\/
wrapper.java.additional.9 = -Dcarbon.home=${carbon_home}
wrapper.java.additional.10 = -Dwso2.server.standalone=true
wrapper.java.additional.11 = -Djava.command=${java_home}\\bin\\java
wrapper.java.additional.12 = -Djava.io.tmpdir=${carbon_home}\\wso2\\tmp
wrapper.java.additional.13 = -Dcatalina.base=${carbon_home}\\wso2\\lib\\tomcat
wrapper.java.additional.14 = -Djava.util.logging.config.file=${carbon_home}\\conf\\etc\\logging-bridge.properties
wrapper.java.additional.15 = -Dcarbon.config.dir.path=${carbon_home}\\conf
wrapper.java.additional.16 = -Dcarbon.logs.path=${carbon_home}\\repository\\logs
wrapper.java.additional.17 = -Dcomponents.repo=${carbon_home}\\wso2\\components\\plugins
wrapper.java.additional.18 = -Dconf.location=${carbon_home}\\conf
wrapper.java.additional.19 = -Dcom.atomikos.icatch.file=${carbon_home}\\wso2\\lib\\transactions.properties
wrapper.java.additional.20 = -Dcom.atomikos.icatch.hide_init_file_path=true
wrapper.java.additional.21 = -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true
wrapper.java.additional.22 = -Dcom.sun.jndi.ldap.connect.pool.authentication=simple
wrapper.java.additional.23 = -Dcom.sun.jndi.ldap.connect.pool.timeout=3000
wrapper.java.additional.24 = -Dorg.terracotta.quartz.skipUpdateCheck=true
wrapper.java.additional.25 = -Dcarbon.extensions.dir.path=${carbon_home}\\extensions
wrapper.java.additional.26 = -Dcarbon.dropins.dir.path=${carbon_home}\\dropins
wrapper.java.additional.27 = -Dcarbon.external.lib.dir.path=${carbon_home}\\lib
wrapper.java.additional.28 = -Dcarbon.patches.dir.path=${carbon_home}\\patches
wrapper.java.additional.29 = -Dcarbon.servicepacks.dir.path=${carbon_home}\\servicepacks
wrapper.java.additional.30 = -Dcarbon.internal.lib.dir.path=${carbon_home}\\wso2\\lib
wrapper.java.additional.31 = -Dei.extendedURIBasedDispatcher=org.wso2.carbon.integrator.core.handler.IntegratorStatefulHandler
wrapper.java.additional.32 = -Dorg.wso2.ignoreHostnameVerification=true
wrapper.java.additional.33 = -Dcarbon.components.dir.path=${carbon_home}\\wso2\\components
wrapper.java.additional.34 = -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false
wrapper.java.additional.35 = -Dfile.encoding=UTF8
wrapper.java.additional.36 = -DavoidConfigUpdate=true
wrapper.java.additional.37 = -DenableCorrelationLogs=false
wrapper.java.additional.39 = -Dcarbon.new.config.dir.path=${carbon_home}\\repository\\resources\\conf
wrapper.java.additional.40 = -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

Настройка переменной среды CARBON_HOME

Распакуйте продукт который необходимо запускать как службу Windows, и задайте переменную среды Windows CARBON_HOME (укажите путь к директории установки продукта). Например, если необходимо запускать Inpolus ESB 1.8.0 как службу Windows, укажите в CARBON_HOME распакованную InpolusESB_1.8.0 директорию.

Запуск продукта в консоли

Необходимо убедиться что YAJSW сконфигурирован корректно для запуска продукта как службы Windows.

  1. Откройте Командную строку Windows и перейдите в директорию <YAJSW_HOME>/bat/. Например:

    cd D:\yajsw-stable-13.11\bat

  2. Запустите библиотеку в режиме консоли используя следующую команду:

    runConsole.bat

    Пример:

Если YAJSW сконфигурирован корректно, вывод консоли будет как указано ниже и консоль управления Inpolus ESB будет доступна в веб-браузере по адресу: https://localhost:9443/carbon. Логин/пароль по-умолчанию admin/admin.

Работа со службой "Inpolus ESB"

Для установки продукта как службы Windows, выполните следующую команду в директории <YAJSW_HOME>/bat/:

installService.bat

Командная строка отобразит сообщение подтверждающее установку службы "Inpolus ESB".

Чтобы убедиться что служба установлена корректно, найдите в службах Windows "Inpolus ESB":

Для запуска службы, выполните следующую команду в том же окне консоли:

startService.bat

Командная строка отобразит сообщение подтверждающее что служба "Inpolus ESB" запущена.

Для остановки службы, выполните следующую команду в том же окне консоли:

stopService.bat

Командная строка отобразит сообщение подтверждающее что служба "Inpolus ESB" остановлена.

Для удаления службы, выполните следующую команду в том же окне консоли:

uninstallService.bat

Командная строка отобразит сообщение подтверждающее что служба "Inpolus ESB" удалена.