Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.此内容没有您所选择的语言版本。
Chapter 10. Managing Child Containers
Abstract
A child container is a container that shares a common Red Hat JBoss Fuse runtime with a parent container, but has its own configuration files, runtime information, logs and temporary files. The child container functions as an independent container into which you can deploy bundles.
10.1. Standalone Child Containers 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Using the admin console commands 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
The admin console commands allow you to create and manage instances of the JBoss Fuse runtime on the same machine. Each new runtime is a child instance of the runtime that created it. You can easily manage the children using names instead of network addresses. For details on the admin commands, see Admin Console Commands.
Creating child containers 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
You create a new runtime container by typing
admin:create
in the JBoss Fuse console.
As shown in Example 10.1, “Creating a Runtime Instance”, admin:create causes the container to create a new child container in the active container's
instances/containerName
directory. The child container is assigned an SSH port number based on an incremental count starting at 8101. Creating a container this way does not inherit configuration information from the parent; any feature repositories and features needed from the parent will have to be manually added to the child.
Example 10.1. Creating a Runtime Instance
FuseESB@root>admin:create finn Creating new instance on port 8106 at: /home/fuse/esb4/instances/finn Creating dir: /home/fuse/esb4/instances/finn/bin Creating dir: /home/fuse/esb4/instances/finn/etc Creating dir: /home/fuse/esb4/instances/finn/system Creating dir: /home/fuse/esb4/instances/finn/deploy Creating dir: /home/fuse/esb4/instances/finn/data Creating file: /home/fuse/esb4/instances/finn/etc/config.properties Creating file: /home/fuse/esb4/instances/finn/etc/java.util.logging.properties Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.felix.fileinstall-deploy.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.log.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.features.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.management.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.ops4j.pax.logging.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.ops4j.pax.url.mvn.cfg Creating file: /home/fuse/esb4/instances/finn/etc/startup.properties Creating file: /home/fuse/esb4/instances/finn/etc/system.properties Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.shell.cfg Creating file: /home/fuse/esb4/instances/finn/bin/karaf Creating file: /home/fuse/esb4/instances/finn/bin/start Creating file: /home/fuse/esb4/instances/finn/bin/stop
FuseESB@root>admin:create finn
Creating new instance on port 8106 at: /home/fuse/esb4/instances/finn Creating dir: /home/fuse/esb4/instances/finn/bin Creating dir: /home/fuse/esb4/instances/finn/etc Creating dir: /home/fuse/esb4/instances/finn/system Creating dir: /home/fuse/esb4/instances/finn/deploy Creating dir: /home/fuse/esb4/instances/finn/data Creating file: /home/fuse/esb4/instances/finn/etc/config.properties Creating file: /home/fuse/esb4/instances/finn/etc/java.util.logging.properties Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.felix.fileinstall-deploy.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.log.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.features.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.management.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.ops4j.pax.logging.cfg Creating file: /home/fuse/esb4/instances/finn/etc/org.ops4j.pax.url.mvn.cfg Creating file: /home/fuse/esb4/instances/finn/etc/startup.properties Creating file: /home/fuse/esb4/instances/finn/etc/system.properties Creating file: /home/fuse/esb4/instances/finn/etc/org.apache.karaf.shell.cfg Creating file: /home/fuse/esb4/instances/finn/bin/karaf Creating file: /home/fuse/esb4/instances/finn/bin/start Creating file: /home/fuse/esb4/instances/finn/bin/stop
Cloning a container 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To create a new container which is a direct copy of its parent, use the admin:clone command. The only difference between parent and child is the port number they listen on.
Changing a child's SSH port 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
You can change the SSH port number assigned to a child container using the admin:change-port command. The syntax for the command is:
admin:change-port
{
containerName
} {
portNumber
}
Important
You can only use the admin:change-port command on stopped containers.
Starting child containers 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
New containers are created in the stopped state. To start a child container and make it ready to host applications, use the admin:start command. This command takes a single argument, containerName, that identifies the child you want started.
Listing all child containers 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To see a list of all the JBoss Fuse containers running under a particular installation, use the admin:list command:
Example 10.2. Listing Instances
JBossFuse:karaf@root>admin:list Port State Pid Name [ 8107] [Started ] [10628] harry [ 8101] [Started ] [20076] root [ 8106] [Started ] [15924] dick [ 8105] [Started ] [18224] tom
JBossFuse:karaf@root>admin:list
Port State Pid Name [ 8107] [Started ] [10628] harry [ 8101] [Started ] [20076] root [ 8106] [Started ] [15924] dick [ 8105] [Started ] [18224] tom
Connecting to a child container 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
You can connect to a started child container's remote console using the admin:connect command.As shown in Example 10.3, “Admin connect Command”, this command takes three arguments:
Example 10.3. Admin connect Command
admin:connect
{
containerName
} {
-u username
} {
-p password
}
- containerName
- The name of the child to which you want to connect.
-
-u
username - The username used to connect to the child's remote console. Use valid JAAS user credentials that have admin privileges (see Chapter 15, Configuring JAAS Security).
-
-p
password - This argument specifies the password used to connect to the child's remote console.
Once you are connected to the child container., the prompt changes to display the name of the current instance, as shown:
JBossFuse:karaf@harry>
JBossFuse:karaf@harry>
Stopping a child container 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To stop a child container, from within the container itself, type
osgi:shutdown
or simply shutdown
.
To stop a child container remotely—in other words, from a parent or sibling instance—type
admin:stop containerName
.
Destroying a child container 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
You can permanently delete a stopped child container using the admin:destroy containerName command.
Important
You can only remove stopped children.
Changing the JVM options on a child container 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
To change the Java options in a child instance, use the
admin:change-opts
command. For example, you could change the amamount of memory allocated to the child container's JVM, as follows:
JBossFuse:karaf@harry> admin:change-opts tom "-server -Xms128M -Xmx1345m -Dcom.sun.management.jmxremote"
JBossFuse:karaf@harry> admin:change-opts tom "-server -Xms128M -Xmx1345m -Dcom.sun.management.jmxremote"
These changes will take effect when you restart the child container.
Using the admin script 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
You can also use manage a JBoss Fuse container running in server mode without starting a new instance of the runtime. The admin script in the
InstallDir/bin
directory provides the all of the admin console commands except for admin:connect.
Example 10.4. The admin Script
admin.bat: Ignoring predefined value for KARAF_HOME Available commands: change-port - Changes the port of an existing container instance. create - Creates a new container instance. destroy - Destroys an existing container instance. list - List all existing container instances. start - Starts an existing container instance. stop - Stops an existing container instance. Type 'command --help' for more help on the specified command.
admin.bat: Ignoring predefined value for KARAF_HOME Available commands: change-port - Changes the port of an existing container instance. create - Creates a new container instance. destroy - Destroys an existing container instance. list - List all existing container instances. start - Starts an existing container instance. stop - Stops an existing container instance. Type 'command --help' for more help on the specified command.
For example, to list all of the JBoss Fuse containers on your host machine, type:
Windows
admin.bat list
admin.bat list
*NIX
./admin list
./admin list