Managing the FUSE ESB Container

................................................................................................. 9
Using the Remote Console ....................................................................................................... 13
Configuring the Hot Deployment System ..................................................................................... 17
Logging Configuration ............................................................................................................ 19
Changing the JMX Management Properties ................................................................................. 23
A. The FUSE ESB Runtime's Persistent Data ............................................................................... 25
Index .................................................................................................................................. 27
3
Draft 4
Draft List of Tables
1. Loggers ............................................................................. 19
5
Draft 6
Draft List of Examples
1. Remote rsh Command .......................................................... 13
2. Connecting to a Remote Console Using the Default URI ................. 14
3. Changing the Remote Console's Address .................................... 14
4. Using SSL to Access the Remote Console ................................... 15
5. Configuring the Remote Console's Security Realm ........................ 15
6. Keystore and Truststore Properties ............................................ 15
7. Configuring the Hot Deployment Folders .................................... 17
8. Changing Logging Levels ........................................................ 20
9. Changing the Log Information Displayed on the Console ................ 20
7
Draft 8
Draft Starting the FUSE ESB Runtime
The default way for deploying the FUSE ESB runtime is to deploy it as a standalone server with an active console.
You can also deploy the runtime to run as a background process without a console.
Setting up your environment
You can start the FUSE ESB runtime from the installation directory without
doing any work. However, if you want to start it in a different folder you will
need to do the following:
1.
Add the
bin
directory of your FUSE ESB installation to the
PATH
.
Windows
set
PATH
=%
PATH
%;
InstallDir\bin
*NIX
export
PATH
=$
PATH
,
InstallDir/bin
2.
Add a folder called
deploy
to the folder from which you intend to start
the FUSE ESB runtime.
This folder is the hot deployment folder from which bundles and JBI
artifacts will be loaded.
For more information see
Configuring the Hot Deployment
System on page 17
.
3.
Copy the desired bundles and JBI artifacts from
InstallDir
/deploy
into the new
deploy
folder.
These components will be automatically available when the FUSE ESB
runtime starts. You can add more components as they are needed.
Launching the runtime
If you are launching the FUSE ESB runtime from the installation directory use
the following command:
9
Draft Windows
bin\servicemix.bat
*NIX
bin/servicemix
If you are launching it another directory and already performed the steps in
Setting up your environment on page 9
, use the servicemix command.
If
the FUSE ESB runtime starts up correctly you should see the following on
the console:
____
_
__
__ _
/ ___|
___ _ ____
_(_) ___ ___|
\/
(_)_
__
\___ \ / _ \ '__\ \ / / |/ __/ _ \ |\/| | \ \/ /
___) |
__/ |
\ V /| | (_|
__/ |
| | |>
<
|____/ \___|_|
\_/ |_|\___\___|_|
|_|_/_/\_\
ServiceMix (fuse-4.0.0)
Type 'help' for more information.
------------------------------------------------------------
-------------------
servicemix>
Warning
By default, remote console access is enabled and largely unsecured.
The username and password are not validated. In a production
environment, you should either disable the remote console or
configuring real authentication using JAAS.
Launching the runtime without a
local console
To launch the FUSE ESB runtime without a local console you use the following
command:
Windows
bin\servicemix.bat server
10
Draft
Starting the FUSE ESB Runtime *NIX
bin/servicemix server
If you are launching it another directory and already performed the steps in
Setting up your environment on page 9
, use the servicemix server command.
Warning
By default, remote console access is enabled and largely unsecured.
The username and password are not validated. In a production
environment, you should either disable the remote console or
configuring real authentication using JAAS.
Launching the runtime with only
a local console
In production environments you may want to have a runtime instance
accessible using only a local console. You can do this by launching the runtime
in client mode using the following command:
Windows
bin\servicemix.bat client
*NIX
bin/servicemix client
If you are launching it another directory and already performed the steps in
Setting up your environment on page 9
, use the servicemix client command.
If
the FUSE ESB runtime starts up correctly you should see the following on
the console:
____
_
__
__ _
/ ___|
___ _ ____
_(_) ___ ___|
\/
(_)_
__
\___ \ / _ \ '__\ \ / / |/ __/ _ \ |\/| | \ \/ /
___) |
__/ |
\ V /| | (_|
__/ |
| | |>
<
|____/ \___|_|
\_/ |_|\___\___|_|
|_|_/_/\_\
ServiceMix (fuse-4.0.0)
11
Draft Type 'help' for more information.
------------------------------------------------------------
-------------------
servicemix>
12
Draft
Starting the FUSE ESB Runtime Using the Remote Console
It does not always make sense to manage an instance of the FUSE ESB runtime using its local console. You can
manage the FUSE ESB runtime remotely using the remote console.
Overview
When you start the FUSE ESB runtime in its default mode or in server mode,
it enables a remote console that can be accessed from any other FUSE ESB
console. The remote console provides all of the functionality of the local
console and allows a remote user complete control over the container and
the services running inside of it.
Note
When run in client mode the FUSE ESB runtime disables the remote
console.
By default, the remote console is configured to use minimal security. When
you attempt to connect to a remote FUSE ESB runtime, it will ask you for a
username and a password. It does not, however, authenticate the values
provided.
You can configure the remote console to use more stringent security. You can
also configure the console to use a different port and SSL if required.
Connecting to a remote console
You connect to a remote runtime's console using the remote shell's rsh
command. As shown in
Example 1 on page 13
, the rsh takes three
arguments:
Example 1. Remote rsh Command
remote rsh
{
remoteURL
} {-u
username
} {-p
password
}
remoteURL
This argument specifies the URL used to access the desired runtime's
remote console. By default this value is
tcp://0.0.0.0:8101/
.
You can configure this address by editing the runtime's
remoteShellLocation. For more information see
Configuring the console's
address on page 14
13
Draft -u username
This argument specifies the username used to connect to the remote
console. The default value is
smx
.
By default, this value is not authenticated. It is recommended that you
configure the console to use better authentication. See
Securing the
remote console on page 14
-p password
This argument specifies the password used to connect to the remote
console. The default value is
smx
.
By default, this value is not authenticated. It is recommended that you
configure the console to use better authentication. See
Securing the
remote console on page 14
Example 2 on page 14
shows an example of the command used to connect
to a remote console using the default configuration.
Example 2. Connecting to a Remote Console Using the Default URI
servicemix>
remote rsh tcp://open.iona.com:8101 -u smx -p smx
Configuring the console's address
If you are running multiple instances of the FUSE ESB runtime on the same
host or if you want to use SSL to access the remote console, you will need
to change the address at which the runtime exposes its remote console. You
control the address using the remoteShellLocation property. This property is
stored in the
InstallDir/etc/org.apache.servicemix.shell.cfg
configuration file.
Example 3 on page 14
shows a sample configuration that changes the port
used to 8102.
Example 3. Changing the Remote Console's Address
remoteShellLocation=tcp://0.0.0.0:8102/
Securing the remote console
Te easiest way to secure the remote console is to force it to use a secure
communication channel over SSL. To do this you can change the remote
console's address to use the
ssl://
URL prefix to specify the address as
shown in
Example 4 on page 15
.
14
Draft
Using the Remote Console Example 4. Using SSL to Access the Remote Console
remoteShellLocation=ssl://0.0.0.0:8101/
The remote console uses the RshServer realm for authenticating users. The
default implementation is a dummy that should be overridden by supplying
a JAAS configuration file similar to the one shown in
Example 5 on page 15
.
Example 5. Configuring the Remote Console's Security Realm
<jaas:config id="RshServer" xmlns:jaas="http://service
mix.apache.org/jaas">
<jaas:module className="org.foo.SimpleLoginModule"
flags="required">
property1=joe
property2=fred
</jaas:module>
</jaas:config>
For more information on confi