Chapter 2. Installing Red Hat JBoss Fuse as a System Service
Abstract
wrapper feature.
2.1. Installing Red Hat JBoss Fuse as a Service in Standalone Mode
Abstract
2.1.1. Generating the Service Wrapper
Overview
wrapper feature generates a wrapper around the JBoss Fuse runtime instance. You use the wrapper to install the Apache Karaf container as a system service. The wrapper feature is not installed by default in the console, so before you can generate the service wrapper you must install the wrapper feature.
Generating the service wrapper
- Start JBoss Fuse in console mode with the fuse command.
- Enter
features:install wrapper.The features:install command locates the required libraries to provision the wrapper feature and deploys it into the runtime instance. - Generate the wrapper with the wrapper:install command in the following format:
wrapper:install -n <serviceName> -d <displayName> -D <<description>
The Table 2.1, “Wrapper Install Options” table describes the wrapper:install options.Table 2.1. Wrapper Install Options
Option Default Description -sAUTO_START(Windows only) Specifies the mode in which the service is installed. Valid values are AUTO_STARTorDEMAND_START.-nkarafSpecifies the service name that will be used when installing the service. -dSpecifies the display name of the service. -DSpecifies the description of the service. -i --includeSpecifies an include statement for the JSW wrapper configuration. To specify multiple include statement, enter this option multiple times. -e --envSpecifies environment variable and values. To set multiple environment variable and values, enter this option multiple times.
Results
bin\ServiceName-wrapper[.exe]—the executable file for the wrapper.bin\ServiceName-service[.bat]—the script used to install and remove the service.etc\ServiceName-wrapper.conf—the wrapper configuration file.
lib\libwrapper.solib\karaf-wrapper.jarlib\karaf-wrapper-main.jar
2.1.2. Configuring the Batch Script
Overview
ServiceName-service[.bat] file to control the script execution priority and system user assignment.
RUN_AS_USER
RUN_AS_USER variable to instruct the script to run from a specific user account. For example, to run the script as the user mquser, uncomment the line #RUN_AS_USER and set the value as follows:
RUN_AS_USER=mquser
wrapper.log files. If you attempt to run the script from a user that cannot write the log file, the wrapper will exit without logging an error message.
RUN_AS_USER variable must not be used with Solaris.
PRIORITY
PRIORITY environment variable to control the nice level of the service.
2.1.3. Configuring the Service Wrapper
Overview
ServiceName-wrapper.conf file, which is located under the InstallDir/etc/ directory.
- default environment settings
- properties passed to the JVM
- Classpath
- JMX settings
- logging settings
Default environment settings
- JAVA_HOME
- Location of the Java runtime installation.NoteOn Windows, you can set
JAVA_HOMEeither as a system variable only in the registry or inServiceName-wrapper.conf. You cannot set the variable as a regular environment variable in the Environment Variables list. - KARAF_HOME
- Location of the Red Hat JBoss Fuse installation.
- KARAF_BASE
- Location of the configuration data and OSGi data for the broker instance.NoteRuntime OSGi data is stored in sub-directories of this directory.
- KARAF_DATA
- Location of the logging and persistance data for the broker instance.
Example 2.1. Default Environment Settings
set.default.KARAF_HOME=InstallDir set.default.KARAF_BASE=InstallDir set.default.KARAF_DATA=InstallDir\data
JVM parameters
wrapper.java.additional.<param_sequence_number>
The parameter sequence number must be unique for each parameter.
wrapper.java.additional.<n>=-DPropName=PropValue
Example 2.2. Default Java System Properties
# JVM # note that n is the parameter number starting from 1. wrapper.java.additional.1=-Dkaraf.home="%KARAF_HOME%" wrapper.java.additional.2=-Dkaraf.base="%KARAF_BASE%" wrapper.java.additional.3=-Dkaraf.data="%KARAF_DATA%" wrapper.java.additional.4=-Dcom.sun.managment.jmxremote wrapper.java.additional.5=-Dkaraf.startLocalConsole=false wrapper.java.additional.6=-Dkaraf.startRemoteShell=true wrapper.java.additional.7=-Djava.endorsed.dirs="%JAVA_HOME%/jre/lib/endorsed;%JAVA_HOME%/lib/endorsed;%KARAF_HOME%/lib/endorsed" wrapper.java.additional.8=-Djava.ext.dirs="%JAVA_HOME%/jre/lib/ext;%JAVA_HOME%/lib/ext;%KARAF_HOME%/lib/ext"
Additional classpath entries
wrapper.java.classpath.<n>
The sequence number must be unique for each classpath entry.
Example 2.3. Default Wrapper Classpath
wrapper.java.classpath.1=%KARAF_BASE%/lib/karaf-wrapper.jar wrapper.java.classpath.2=%KARAF_HOME%/lib/karaf.jar wrapper.java.classpath.3=%KARAF_HOME%/lib/karaf-jaas-boot.jar wrapper.java.classpath.4=%KARAF_BASE%/lib/karaf-wrapper-main.jar
JMX configuration properties
Example 2.4. Wrapper JMX Properties
#wrapper.java.additional.n=-Dcom.sun.management.jmxremote.port=1616 #wrapper.java.additional.n=-Dcom.sun.management.jmxremote.authenticate=false #wrapper.java.additional.n=-Dcom.sun.management.jmxremote.ssl=false
- Locate the following line:
# Uncomment to enable jmx - Remove the prefix
#from each of the properties. - Replace the
nin each property with a sequence number. Make sure that the number adheres to the sequence of all parameters and properties in the configuration file.
Logging configuration
Table 2.2. Wrapper Logging Properties
| Property | Description |
|---|---|
wrapper.console.format |
Specifies how the logging information sent to the console is formated. The format consists of the following tokens:
|
wrapper.console.loglevel | Specifies the logging level displayed on the console. |
wrapper.logfile | Specifies the file used to store the log. |
wrapper.logfile.format | Specifies how the logging information sent to the log file is formated. |
wrapper.console.loglevel | Specifies the logging level sent to the log file. |
wrapper.console.maxsize | Specifies the maximum size, in bytes, that the log file can grow to before the log is archived. The default value of 0 disables log rolling. |
wrapper.console.maxfiles | Specifies the maximum number of archived log files which will be allowed before old files are deleted. The default value of 0 implies no limit. |
wrapper.syslog.loglevel | Specifies the logging level for the sys/event log output. |
2.1.4. Installing and Starting the Service
Overview
Windows
- Installing the service
- Run the following command:
InstallDir\bin\ServiceName-service.bat installBy default, the service will start when Windows starts. If you specified theDEMAND_STARToption, you need to start the service manually. - Uninstalling the service
- Run the following command:
InstallDir\bin\ServiceName-service.bat remove - Starting the service
- Run the following command:
net start "ServiceName"You can also start the service from the Windows Service dialog box. - Stopping the service
- Run the following command:
net stop "ServiceName"You can also stop the service from the Windows Service dialog box.
Red Hat Enterprise Linux
- Installing the service
- Run the following commands:
#ln -s InstallDir/bin/ServiceName-service /etc/init.d/#chkconfig ServiceName-service --add#chkconfig ServiceName-service onBy default, the service will start when Red Hat Enterprise Linux starts. - Uninstalling the service
- Run the following command:
#service ServiceName-service stop#chkconfig ServiceName-service --del#rm /etc/init.d/ServiceName-service - Starting the service
- Run the following command:
service ServiceName-service start - Stopping the service
- Run the following command:
service ServiceName-service stop
Ubuntu Linux
- Installing the service
- Run the following commands:
#ln -s InstallDir/bin/ServiceName-service /etc/init.d/#update-rc.d ServiceName-service defaultsBy default, the service will start when Red Hat Enterprise Linux starts. - Uninstalling the service
- Run the following command:
#/etc/init.d/ServiceName-service stop#rm /etc/init.d/ServiceName-service - Starting the service
- Run the following command:
/etc/init.d/ServiceName-service startservice ServiceName-service start - Stopping the service
- Run the following command:
/etc/init.d/ServiceName-service stop
Solaris
- Installing the service
- Create Symbolic Links in
/etc/init.d:#ln -s InstallDir/bin/ServiceName-service /etc/init.d/ServiceName-service#ln -s ln /etc/init.d/ServiceName-service /etc/rcn.d/SxxServiceName-serviceNoteIn SxxServiceName, the xx is the sequence number of execution for the service in the rc directory.By default, the service will start when Solaris starts. - Uninstalling the service
- Run the following command:
#/etc/init.d/ServiceName-service stop#rm /etc/init.d/ServiceName-service - Starting the service
- Run the following command:
#/etc/init.d/ ./ServiceName-service start - Stopping the service
- Run the following command:
/etc/init.d/ ./ServiceName-service stop

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.