4.2. Stopping JBoss Fuse
Abstract
You can stop an instance of Red Hat JBoss Fuse either from within a console, or using a
stop
script.
Stopping an instance from a local console
If you launched the Karaf instance by running
fuse
or fuse client
, you can stop it by doing one of the following at the karaf>
prompt:
- Type
shutdown
- Press Ctrl+D
Stopping an instance running in server mode
You can stop a locally running Karaf instance (root container), by invoking the stop(.bat) from the
InstallDir/bin
directory, as follows:
Windows
bin\stop.bat
Linux/UNIX
./bin/stop
The shutdown mechanism invoked by the Karaf
stop
script is similar to the shutdown mechanism implemented in Apache Tomcat. The Karaf server opens a dedicated shutdown port (not the same as the SSH port) to receive the shutdown notification. By default, the shutdown port is chosen randomly, but you can configure it to use a specific port if you prefer.
You can optionally customize the shutdown port by setting the following properties in the
InstallDir/etc/config.properties
file:
karaf.shutdown.port
- Specifies the TCP port to use as the shutdown port. Setting this property to
-1
disables the port. Default is0
(for a random port). karaf.shutdown.host
- Specifies the hostname to which the shutdown port is bound. This setting could be useful on a multi-homed host. Defaults to
localhost
.NoteIf you wanted to use thebin/stop
script to shut down the Karaf server running on a remote host, you would need to set this property to the hostname (or IP address) of the remote host. But beware that this setting also affects the Karaf server located on the same host as theetc/config.properties
file. karaf.shutdown.port.file
- After the Karaf instance starts up, it writes the current shutdown port to the file specified by this property. The
stop
script reads the file specified by this property to discover the value of the current shutdown port. Defaults to${karaf.data}/port
.NoteIf you wanted to use thebin/stop
script to shut down the Karaf server running on a remote host, you would need to set this property equal to the remote host's shutdown port. But beware that this setting also affects the Karaf server located on the same host as theetc/config.properties
file. karaf.shutdown.command
- Specifies the UUID value that must be sent to the shutdown port in order to trigger shutdown. This provides an elementary level of security, as long as the UUID value is kept a secret. For example, the
etc/config.properties
file could be read-protected to prevent this value from being read by ordinary users.When Apache Karaf is started for the very first time, a random UUID value is automatically generated and this setting is written to the end of theetc/config.properties
file. Alternatively, ifkaraf.shutdown.command
is already set, the Karaf server uses the pre-existing UUID value (which enables you to customize the UUID setting, if required).NoteIf you wanted to use thebin/stop
script to shut down the Karaf server running on a remote host, you would need to set this property to be equal to the value of the remote host'skaraf.shutdown.command
. But beware that this setting also affects the Karaf server located on the same host as theetc/config.properties
file.
Stopping a child container instance
Apache Karaf enables you to create and manage child container instances using the
admin
family of console commands (for example, using admin:create
, admin:start
, admin:stop
, and so on). To stop the ChildContainerName
child container running on your local host, invoke the admin(.bat) script from the command line, as follows:
Windows
bin\admin.bat stop
ChildContainerName
Linux/UNIX
./bin/admin stop
ChildContainerName
Stopping a remote instance
You can stop a container instance running on a remote host as described in Section 8.3, “Stopping a Remote Container”.