8.3. Configuring the Wrapper
Abstract
The service wrapper is configured by the
ServiceName-wrapper.conf
file, which is located under the InstallDir/etc/
directory.
Overview
The service wrapper is configured by the
ServiceName-wrapper.conf
file, which is located under the InstallDir/etc/
directory.
There are several settings you may want to change including:
- the default environment settings
- the properties passed to the JVM
- the classpath
- the JMX settings
- the logging settings
Specifying the Red Hat JBoss A-MQ's environment
A broker's environment is controlled by three environment variables:
KARAF_HOME
—the location of the Red Hat JBoss A-MQ install directory.KARAF_BASE
—the root directory containing the configuration and OSGi data specific to the broker instance.The configuration for the broker instance is stored in theKARAF_BASE/conf
directory. Other data relating to the OSGi runtime is also stored beneath the base directory.KARAF_DATA
—the directory containing the logging and persistence data for the broker.
Example 8.1, “Default Environment Settings” shows the default values.
Example 8.1. Default Environment Settings
set.default.KARAF_HOME=InstallDir set.default.KARAF_BASE=InstallDir set.default.KARAF_DATA=InstallDir\data
Passing parameters to the JVM
If you want to pass parameters to the JVM, you do so by setting wrapper properties using the form
wrapper.java.additional.<n>
. <n> is a sequence number that must be distinct for each parameter.
One of the most useful things you can do by passing additional parameters to the JVM is to set Java system properties. The syntax for setting a Java system property is
wrapper.java.additional.<n>=-DPropName=PropValue
.
Example 8.2, “Default Java System Properties” shows the default Java properties.
Example 8.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"
Adding classpath entries
You add classpath entries using the syntax
wrapper.java.classpath.<n>
. <n> is a sequence number that must be distinct for each classpath entry.
Example 8.3, “Default Wrapper Classpath” shows the default classpath entries.
Example 8.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
The default service wrapper configuration does not enable JMX. It does, however, include template properties for enabling JMX. To enable JMX:
- Locate the line
# Uncomment to enable jmx
.There are three properties, shown in Example 8.4, “Wrapper JMX Properties”, that are used to configure JMX.Example 8.4. Wrapper JMX Properties
# Uncomment to enable jmx #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
- Remove the
#
from in front of each of the properties. - Replace the
n
in each property to a number that fits into the sequence of addition properties established in the configuration.
You can change the settings to use a different port or secure the JMX connection.
For more information about using JMX see Chapter 16, Using JMX.
Configuring logging
The wrapper's logging in configured using the properties described in Table 8.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. |
For more information about Red Hat JBoss A-MQ logging see Chapter 15, Using Logging.