karaf-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jbono...@apache.org
Subject [11/19] karaf git commit: KARAF-3679 - Switch documentation to asciidoc, close #65
Date Mon, 04 Jan 2016 09:57:38 GMT
http://git-wip-us.apache.org/repos/asf/karaf/blob/3de05ae9/manual/src/main/asciidoc/users-guide/instances.adoc
----------------------------------------------------------------------
diff --git a/manual/src/main/asciidoc/users-guide/instances.adoc b/manual/src/main/asciidoc/users-guide/instances.adoc
deleted file mode 100644
index 636245e..0000000
--- a/manual/src/main/asciidoc/users-guide/instances.adoc
+++ /dev/null
@@ -1,379 +0,0 @@
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//      http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-
-=  Instances
-
-A instance is a complete new Apache Karaf runtime, isolated from the other ones.
-
-The purpose is to easily create and manage a new Apache Karaf runtime without installing a complete distribution.
-
-A instance is a new instance that you can launch separately from the root one, and deploy applications into. It means that each instance is run on a different JVM.
-
-A instance does not contain a full copy of the Apache Karaf distribution, but only a set of the configuration files and data folder which contains all the runtime information, logs and temporary files.
-
-==  Using the instance commands
-
-The *instance* commands allow you to create and manage instances.
- 
-===  Creating instances
-
-You create a new runtime instance by typing [`instance:create`|/commands/instance-create] in the Karaf console.
-
-As shown in the following example, `instance:create` causes the runtime to create a new runtime installation in the active runtime's `instances/[name]} directory.  The new instance is a new Karaf instance and is assigned an SSH port number based on an incremental count starting at 8101 and a RMI registry port number based on an incremental count starting at 1099.
-
-----
-karaf@root()> instance:create test
-----
-
-The new instance is fresh Apache Karaf instance. It uses default configuration files set, as you install a fresh Karaf distribution.
-
-You can enable the verbose mode for the `instance:create` command using the `-v` option:
-
-----
-karaf@root()> instance:create -v test
-Creating new instance on SSH port 8103 and registry port 1101 / RMI server port 44446 at: /opt/karaf/instances/test
-Creating dir: /opt/karaf/instances/test/bin
-Creating dir: /opt/karaf/instances/test/etc
-Creating dir: /opt/karaf/instances/test/system
-Creating dir: /opt/karaf/instances/test/deploy
-Creating dir: /opt/karaf/instances/test/data
-Creating file: /opt/karaf/instances/test/etc/config.properties
-Creating file: /opt/karaf/instances/test/etc/jre.properties
-Creating file: /opt/karaf/instances/test/etc/custom.properties
-Creating file: /opt/karaf/instances/test/etc/java.util.logging.properties
-Creating file: /opt/karaf/instances/test/etc/org.apache.felix.fileinstall-deploy.cfg
-Creating file: /opt/karaf/instances/test/etc/org.apache.karaf.features.obr.cfg
-Creating file: /opt/karaf/instances/test/etc/org.apache.karaf.features.repos.cfg
-Creating file: /opt/karaf/instances/test/etc/org.apache.karaf.log.cfg
-Creating file: /opt/karaf/instances/test/etc/org.ops4j.pax.logging.cfg
-Creating file: /opt/karaf/instances/test/etc/org.ops4j.pax.url.mvn.cfg
-Creating file: /opt/karaf/instances/test/etc/users.properties
-Creating file: /opt/karaf/instances/test/etc/keys.properties
-Creating file: /opt/karaf/instances/test/etc/org.apache.karaf.features.cfg
-Creating file: /opt/karaf/instances/test/etc/system.properties
-Creating file: /opt/karaf/instances/test/etc/org.apache.karaf.shell.cfg
-Creating file: /opt/karaf/instances/test/etc/org.apache.karaf.management.cfg
-Creating file: /opt/karaf/instances/test/bin/karaf
-Creating file: /opt/karaf/instances/test/bin/start
-Creating file: /opt/karaf/instances/test/bin/stop
-----
-
-You can manually configure the different ports, the location of the instance, the Apache Karaf features URLs using different options of the `instance:create` command.
-You can have details about these options using the `--help` option.
-
-===  Cloning an instance
-
-Instead of creating a fresh instance, you can clone an existing instance using `instance:clone`.
-
-The `instance:clone` command reuse the files from the source instance:
-
-----
-karaf@root()> instance:clone root test
-----
-
-You can have details about the cloning options using the `--help` option.
-
-===  Changing the instance location
-
-By default, the new instances storage is in the `KARAF_HOME/instance` directory.
-You find a directory with the name of the instance storing the different instance files.
-
-You can change the location of the instance using the `-l` option to the `instance:create` and `instance:clone` commands:
-
-----
-karaf@root()> instance:create -v -l /tmp/test test
-Creating new instance on SSH port 8102 and registry port 1100 / RMI server port 44445 at: /tmp/test
-Creating dir: /tmp/test/bin
-Creating dir: /tmp/test/etc
-Creating dir: /tmp/test/system
-Creating dir: /tmp/test/deploy
-Creating dir: /tmp/test/data
-Creating file: /tmp/test/etc/config.properties
-Creating file: /tmp/test/etc/jre.properties
-Creating file: /tmp/test/etc/custom.properties
-Creating file: /tmp/test/etc/java.util.logging.properties
-Creating file: /tmp/test/etc/org.apache.felix.fileinstall-deploy.cfg
-Creating file: /tmp/test/etc/org.apache.karaf.features.obr.cfg
-Creating file: /tmp/test/etc/org.apache.karaf.features.repos.cfg
-Creating file: /tmp/test/etc/org.apache.karaf.log.cfg
-Creating file: /tmp/test/etc/org.ops4j.pax.logging.cfg
-Creating file: /tmp/test/etc/org.ops4j.pax.url.mvn.cfg
-Creating file: /tmp/test/etc/users.properties
-Creating file: /tmp/test/etc/keys.properties
-Creating file: /tmp/test/etc/org.apache.karaf.features.cfg
-Creating file: /tmp/test/etc/system.properties
-Creating file: /tmp/test/etc/org.apache.karaf.shell.cfg
-Creating file: /tmp/test/etc/org.apache.karaf.management.cfg
-Creating file: /tmp/test/bin/karaf
-Creating file: /tmp/test/bin/start
-Creating file: /tmp/test/bin/stop
-----
-
-Careful, it's not possible to change the location of an instance once it has been created.
-
-NB: `instance:destroy` will remove the instance location for you. You don't have to remove the instance location "by hand".
-
-===  Changing instance ports
-
-You can change the SSH port number assigned to an instance using the `instance:ssh-port-change` command:
-
-----
-karaf@root()> instance:ssh-port-change test 8104
-----
-
-where test is the instance name and 8104 is the new SSH port number to use for the test instance.
-
-You can change the RMI Registry port number (used by JMX) of an instance using the `instance:rmi-registry-port-change` command:
-
-----
-karaf@root()> instance:rmi-registry-port-change test 1102
-----
-
-where test is the instance name and 1102 is the new RMI Registry port number to use for the test instance.
-
-You can also change the RMI Server port number (used by JMX too) of an instance using the `instance:rmi-server-port-change` command:
-
-----
-karaf@root()> instance:rmi-server-port-change test 44447
-----
-
-where test is the instance name and 44447 is the new RMI Server port number to use for the test instance.
-
-NB: the instance has to be stopped to be able to change the port numbers.
-
-===  Starting instances
-
-New instances are created in a stopped state.
-
-To start an instance, you can use the `instance:start` command:
-
-----
-karaf@root()> instance:start test
-----
-
-where test is the instance name.
-
-===  Listing instances
-
-To list the instances and their current status, you can use the `instance:list` command:
-
-----
-karaf@root()> instance:list
-SSH Port | RMI Registry | RMI Server | State   | PID   | Name
--------------------------------------------------------------
-    8101 |         1099 |      44444 | Started | 19652 | root
-    8104 |         1101 |      44446 | Stopped | 0     | test
-----
-
-An instance can be in the following status:
-
-- Stopped: the instance is stopped.
-- Starting: the instance is starting.
-- Started: the instance is up and running. You can connect and use it.
-
-===  Status of an instance
-
-You can get directly the status of a given instance using the `instance:status` command:
-
-----
-karaf@root()> instance:status test
-Started
-----
-
-where test is the instance name.
-
-===  Connecting to an instance
-
-You can connect to a running instance directly from the root one using the `instance:connect` command:
-
-----
-karaf@root()> instance:connect test
-----
-
-where 'test' is the instance name where to connect to.
-
-By default, this command will use the same username used on the root instance, and the password will be prompted.
-
-You can use a different username using the `-u` or `--username` option. You can also provide the password using the
-`-p` or `--password` option.
-
-If you don't provide any argument, you will logon on the instance:
-
-----
-karaf@test()>
-----
-
-Note the name of instance in the shell prompt (@test).
-
-You can logoff from the instance and return back to the root instance using the `logout` command or CTRL-D key binding:
-
-----
-karaf@test()> logout
-karaf@root()>
-----
-
-The `instance:connect` command accepts shell commands as argument. It allows you to directly execute commands or scripts on the instance:
-
-----
-karaf@root()> instance:connect test feature:list
-Name                          | Version         | Installed | Repository                | Description
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-standard                      | 3.0.0           | x         | standard-3.0.0            | Karaf standard feature
-aries-annotation              | 3.0.0           |           | standard-3.0.0            | Aries Annotations
-wrapper                       | 3.0.0           |           | standard-3.0.0            | Provide OS integration
-service-wrapper               | 3.0.0           |           | standard-3.0.0            | Provide OS integration (alias to wrapper feature)
-obr                           | 3.0.0           |           | standard-3.0.0            | Provide OSGi Bundle Repository (OBR) support
-config                        | 3.0.0           | x         | standard-3.0.0            | Provide OSGi ConfigAdmin support
-region                        | 3.0.0           | x         | standard-3.0.0            | Provide Region Support
-...
-----
-
-===  Stop an instance
-
-To stop an instance, you can connect to the instance (using `instance:connect`) and execute the `system:shutdown`
-command.
-
-You can also use the [`instance:stop`|/commands/instance-stop] command:
-
-----
-karaf@root()> instance:stop test
-----
-
-where test is the instance name.
-
-The instance will go to the "Stopped" state.
-
-===  Destroy an instance
-
-You can completely delete a stopped instance using the `instance:destroy` command:
-----
-karaf@root()> instance:destroy test
-----
-
-where test is the instance name.
-
-NB: the `instance:destroy` deletes the instance store (the location where the instance files are stored).
-
-===  Rename an instance
-
-You can change the name of a stopped instance using the `instance:rename` command:
-
-----
-karaf@root()> instance:rename test newTest
-----
-
-where test is the current instance name, and newTest the new instance name.
-
-==  Instance script
-
-The `instance:*` commands require the root instance running.
-
-But, you can also administrate directly instances without the root instance, using the `bin/instance` Unix script
-(or `bin/instance.bat` script on Windows).
-
-You find the same actions that you can do with the `instance:*` commands in the `instance[.bat]` script:
-
-----
-bin/instance
-Available commands:
-  clone - Clones an existing container instance.
-  create - Creates a new container instance.
-  destroy - Destroys an existing container instance.
-  list - Lists all existing container instances.
-  opts-change - Changes the Java options of an existing container instance.
-  rename - Rename an existing container instance.
-  rmi-registry-port-change - Changes the RMI registry port (used by management layer) of an existing container instance.
-  rmi-server-port-change - Changes the RMI server port (used by management layer) of an existing instance.
-  ssh-port-change - Changes the secure shell port of an existing container instance.
-  start - Start an existing container instance.
-  status - Check the current status of an instance.
-  stop - Stop an existing container instance.
-Type 'command --help' for more help on the specified command.
-----
-
-For instance, to list all the instances, you can use the `instance` script with the `list` command:
-
-----
-bin/instance list
-SSH Port | RMI Registry | RMI Server | State   | PID | Name
------------------------------------------------------------
-    8101 |         1099 |      44444 | Stopped | 0   | root
-    8102 |         1100 |      44445 | Stopped | 0   | test
-----
-
-It's exactly the same as executing `instance:list` in the root instance.
-
-You can obtain details about commands options and arguments using the `--help` option. For instance:
-
-----
-bin/instance rename --help
-DESCRIPTION
-        instance:rename
-
-        Rename an existing container instance.
-
-SYNTAX
-        instance:rename [options] name new-name
-
-ARGUMENTS
-        name
-                The name of the container instance to rename
-        new-name
-                The new name of the container instance
-
-OPTIONS
-        --help
-                Display this help message
-        -v, --verbose
-                Display actions performed by the command (disabled by default)
-
-----
-
-==  JMX InstanceMBean
-
-On the JMX layer, you have a MBean dedicated to the management of the instances: the InstanceMBean.
-
-The ObjectName to use is `org.apache.karaf:type=instance,name=*`.
-
-===  Attributes
-
-The `Instances` attribute is a tabular data attribute providing details about the instances:
-
-* `Is Root` (boolean): if true, the instance is the root instance, false else.
-* `JavaOpts` (string): it contains the JVM arguments used by the instance.
-* `Location` (string): it's the path to the instance storage.
-* `Name` (string): it's the name of the instance.
-* `Pid` (long): it's the current system process ID (PID) of the instance process.
-* `RMI Registry Port` (int): it's the port number of the instance RMI Registry (JMX).
-* `RMI Server Port` (int): it's the port number of the instance RMI Server (JMX).
-* `SSH Port` (int): it's the port number of the instance SSH Server.
-* `State` (string): it's the current status of the instance (Stopped, Starting, Started).
-
-===  Operations
-
-The InstanceMBean provides the following operations, corresponding to the previous `instance:*` commands:
-* `createInstance(instanceName, sshPort, rmiRegistryPort, rmiServerPort, location, javaOpts, features, featuresUrls)`: create a new instance.
-* `changeSshPort(instanceName, port)`: change the SSH port of an instance.
-* `changeRmiServerPort(instanceName, port)`: change the RMI server port of an instance.
-* `changeRmiRegistry(instanceName, port)`: change the RMI registry port of an instance.
-* `changeJavaOpts(instanceName, javaOpts)`: change the Java options of an instance.
-* `destroyInstance(instanceName)`: destroy an instance.
-* `startInstance(instanceName)`: start an instance.
-* `startInstance(instanceName, options)`: start an instance with the given Java options.
-* `startInstance(instanceName, options, wait, debug)`: start an instance with the given Java options.
- If wait is true, this operation is waiting for the instance is in "Started" state. If debug is true, the instance is started in debug mode.
-* `stopInstance(instanceName)`: stop an instance.
-* `renameInstance(instanceName, newInstanceName)`: rename an instance.
-* `renameInstance(instanceName, newInstanceName, verbose)`: rename an instance. If verbose is true, this operation provides details in the log.
-* `cloneInstance(instanceName, cloneName, sshPort, rmiRegistryPort, rmiServerPort, location, javaOpts)`: clone an existing instance.

http://git-wip-us.apache.org/repos/asf/karaf/blob/3de05ae9/manual/src/main/asciidoc/users-guide/jdbc.adoc
----------------------------------------------------------------------
diff --git a/manual/src/main/asciidoc/users-guide/jdbc.adoc b/manual/src/main/asciidoc/users-guide/jdbc.adoc
deleted file mode 100644
index bfac7e0..0000000
--- a/manual/src/main/asciidoc/users-guide/jdbc.adoc
+++ /dev/null
@@ -1,226 +0,0 @@
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//      http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-
-=  DataSources (JDBC)
-
-The Apache Karaf DataSources (JDBC) is an optional enterprise feature.
-
-You have to install the `jdbc` feature first:
-
-----
-karaf@root()> feature:install jdbc
-----
-
-This feature provides an OSGi service to create/delete JDBC datasources in the container and perform database operations (SQL queries).
-
-This JDBC OSGi service can be manipulated programmatically (see the developer guide for details), using the `jdbc:*` commands, or using the JDBC MBean.
-
-==  Commands
-
-===  `jdbc:create`
-
-The `jdbc:create` command automatically creates a datasource definition file in the Apache Karaf `deploy` folder.
-
-The `jdbc:create` accepts a set of options and the name argument:
-
-----
-karaf@root()> jdbc:create --help
-DESCRIPTION
-        jdbc:create
-
-        Create a JDBC datasource
-
-SYNTAX
-        jdbc:create [options] name
-
-ARGUMENTS
-        name
-                The JDBC datasource name
-
-OPTIONS
-        -u, --username
-                The database username
-        -v, --version
-                The version of the driver to use
-        -t, --type
-                The JDBC datasource type (generic, MySQL, Oracle, Postgres, H2, HSQL, Derby, MSSQL)
-        -url
-                The JDBC URL to use
-        -p, --password
-                The database password
-        -i, --install-bundles
-                Try to install the bundles providing the JDBC driver
-        -d, --driver
-                The classname of the JDBC driver to use. NB: this option is used only the type generic
-        --help
-                Display this help message
-
-----
-
-* the `name` argument is required. It's the name of the datasource. The name is used to identify the datasource, and to create the datasource definition file (`deploy/datasource-[name].xml`).
-* the `-u` option is optional. It defines the database username.
-* the `-v` option is optional. It "forces" a given JDBC driver version (only used with the `-i` option).
-* the `-t` option is required. It defines the JDBC datasource type. Accepted values are: MySQL, Oracle, Postgres, Derby, H2, HSQL, MSSQL, Generic. Generic is a generic configuration file using DBCP to create a pooled datasource. When using generic, it's up to you to install the JDBC driver and configure the `deploy/datasource-[name].xml` datasource file.
-* the `-url` option is optional. It defines the JDBC URL to access to the database.
-* the `-p` option is optional. It defines the database password.
-* the `-d` option is optional. It defines the JDBC driver classname to use (only used with the generic type).
-* the `-i` option is optional. If specified, the command will try to automatically install the OSGi bundles providing the JDBC driver (depending of the datasource type specified by the `-t` option).
-
-For instance, to create an embedded Apache Derby database in Apache Karaf, you can do:
-
-----
-karaf@root()> jdbc:create -t derby -u test -i test
-----
-
-We can note that the Derby bundle has been installed automatically, and the datasource has been created:
-
-----
-karaf@root()> la
-...
-87 | Active   |  80 | 10.8.2000002.1181258  | Apache Derby 10.8
-88 | Active   |  80 | 0.0.0                 | datasource-test.xml
-----
-
-We can see the `deploy/datasource-test.xml` datasource file.
-
-==  `jdbc:delete`
-
-The `jdbc:delete` command deletes a datasource by removing the `deploy/datasource-[name].xml` datasource file:
-
-----
-karaf@root()> jdbc:delete test
-----
-
-{warning}
-The `jdbc:delete` does not uninstall the JDBC driver bundles and does not remove the files created by the JDBC driver (or the database in case of embedded database).
-It's up to you to remove it.
-{warning}
-
-==  `jdbc:datasources`
-
-The `jdbc:datasources` command lists the JDBC datasources:
-
-----
-karaf@root()> jdbc:datasources
-Name       | Product      | Version              | URL
-------------------------------------------------------------------
-/jdbc/test | Apache Derby | 10.8.2.2 - (1181258) | jdbc:derby:test
-----
-
-==  `jdbc:info`
-
-The `jdbc:info` command provides details about a JDBC datasource:
-
-----
-karaf@root()> jdbc:info /jdbc/test
-Property       | Value
---------------------------------------------------
-driver.version | 10.8.2.2 - (1181258)
-username       | APP
-db.version     | 10.8.2.2 - (1181258)
-db.product     | Apache Derby
-driver.name    | Apache Derby Embedded JDBC Driver
-url            | jdbc:derby:test
-----
-
-==  `jdbc:execute`
-
-The `jdbc:execute` command executes a SQL query that doesn't return any result on a given JDBC datasource.
-
-Typically, you can use the `jdbc:execute` command to create tables, insert values into tables, etc.
-
-For instance, we can create a `person` table on our `test` datasource:
-
-----
-karaf@root()> jdbc:execute /jdbc/test "create table person(name varchar(100), nick varchar(100))"
-----
-
-And we can insert some records in the `person` table:
-
-----
-karaf@root()> jdbc:execute /jdbc/test "insert into person(name, nick) values('foo','bar')"
-karaf@root()> jdbc:execute /jdbc/test "insert into person(name, nick) values('test','test')"
-----
-
-==  `jdbc:query`
-
-The `jdbc:query` command is similar to the `jdbc:execute` one but it displays the query result.
-
-For instance, to display the content of the `person` table, we can do:
-
-----
-karaf@root()> jdbc:query /jdbc/test "select * from person"
-NICK       | NAME
---------------------------------
-bar        | foo
-test       | test
-----
-
-==  `jdbc:tables`
-
-The `jdbc:tables` command displays all tables available on a given JDBC datasource:
-
-----
-karaf@root()> jdbc:tables /jdbc/test
-REF_GENERATION | TYPE_NAME | TABLE_NAME       | TYPE_CAT | REMARKS | TYPE_SCHEM | TABLE_TYPE   | TABLE_SCHEM | TABLE_CAT | SELF_REFERENCING_COL_NAME
-----------------------------------------------------------------------------------------------------------------------------------------------------
-               |           | SYSALIASES       |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSCHECKS        |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSCOLPERMS      |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSCOLUMNS       |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSCONGLOMERATES |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSCONSTRAINTS   |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSDEPENDS       |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSFILES         |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSFOREIGNKEYS   |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSKEYS          |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSPERMS         |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSROLES         |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSROUTINEPERMS  |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSSCHEMAS       |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSSEQUENCES     |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSSTATEMENTS    |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSSTATISTICS    |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSTABLEPERMS    |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSTABLES        |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSTRIGGERS      |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSVIEWS         |          |         |            | SYSTEM TABLE | SYS         |           |
-               |           | SYSDUMMY1        |          |         |            | SYSTEM TABLE | SYSIBM      |           |
-               |           | PERSON           |          |         |            | TABLE        | APP         |           |
-----
-
-==  JMX JDBC MBean
-
-The JMX JDBC MBean provides the JDBC datasources, and the operations to manipulate datasources and database.
-
-The object name to use is `org.apache.karaf:type=jdbc,name=*`.
-
-===  Attributes
-
-The `Datasources` attribute provides a tabular data of all JDBC datasource, containing:
-
-* `name` is the JDBC datasource name
-* `product` is the database product backend
-* `url` is the JDBC URL used by the datasource
-* `version` is the database version backend.
-
-===  Operations
-
-* `create(name, type, jdbcDriverClassName, version, url, user, password, installBundles)` creates a JDBC datasource (the arguments correspond to the options of the `jdbc:create` command).
-* `delete(name)` deletes a JDBC datasource.
-* `info(datasource)` returns a Map (String/String) of details about a JDBC `datasource`.
-* `tables(datasource)` returns a tabular data containing the tables available on a JDBC `datasource`.
-* `execute(datasource, command` executes a SQL command on the given JDBC `datasource`.
-* `query(datasource, query` executes a SQL query on the given JDBC `datasource` and return the execution result as tabular data.
-

http://git-wip-us.apache.org/repos/asf/karaf/blob/3de05ae9/manual/src/main/asciidoc/users-guide/jms.adoc
----------------------------------------------------------------------
diff --git a/manual/src/main/asciidoc/users-guide/jms.adoc b/manual/src/main/asciidoc/users-guide/jms.adoc
deleted file mode 100644
index 276980b..0000000
--- a/manual/src/main/asciidoc/users-guide/jms.adoc
+++ /dev/null
@@ -1,304 +0,0 @@
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//      http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-
-=  MOM (JMS)
-
-The Apache Karaf MOM (Messaging Oriented Middleware/JMS) is an optional enterprise feature.
-
-You have to install the `jms` feature first:
-
-----
-karaf@root()> feature:install jms
-----
-
-The `jms` feature doesn't install a JMS broker: it just installs the OSGi service, commands, and MBean to interact with
-a JMS broker (not the broker itself).
-
-It means that you have to install a JMS broker itself.
-
-This JMS broker can be available:
-
-* outside of Apache Karaf, as a standalone broker. In that case, Apache Karaf JMS will remotely connect to the JMS broker.
- For instance, you can use this topology with Apache ActiveMQ or IBM WebsphereMQ.
-* embedded in Apache Karaf. With this topology, Apache Karaf itself provides a JMS broker service. Apache ActiveMQ provides
- a native support in Apache Karaf.
-
-For instance, you can install Apache ActiveMQ directly in Apache Karaf:
-
-----
-karaf@root()> feature:repo-add activemq
-Adding feature url mvn:org.apache.activemq/activemq-karaf/LATEST/xml/features
-karaf@root()> feature:install activemq-broker
-----
-
-The `activemq-broker` feature installs:
-
-* a Apache ActiveMQ broker directly in Apache Karaf, bind to the `61616` port number by default.
-* the Apache ActiveMQ WebConsole bound to `http://0.0.0.0:8181/activemqweb` by default.
-
-The Apache Karaf `jms` feature provides an OSGi service to create/delete JMS connection factories in the container
-and perform JMS operations (send or consume messages, get information about a JMS broker, list the destinations, ...).
-
-This JMS OSGi service can be manipulated programmatically (see the developer guide for details), using the `jms:*` commands, or using the JMS MBean.
-
-==  Commands
-
-===  `jms:create`
-
-The `jms:create` command creates a JMS connection factory in the Apache Karaf container. It automatically creates a
-blueprint XML file in the `deploy` folder containing the JMS connection factory definition corresponding
-to the type that you mentioned.
-
-The `jms:create` command accepts different arguments and options:
-
-----
-karaf@root()> jms:create --help
-DESCRIPTION
-        jms:create
-
-        Create a JMS connection factory.
-
-SYNTAX
-        jms:create [options] name 
-
-ARGUMENTS
-        name
-                The JMS connection factory name
-
-OPTIONS
-        -u, --url
-                The JMS URL. NB: for WebsphereMQ type, the URL is hostname/port/queuemanager/channel
-        --help
-                Display this help message
-        -t, --type
-                The JMS connection factory type (ActiveMQ or WebsphereMQ)
-
-----
-
-* the `name` argument is required. It's the name of the JMS connection factory. The name is used to identify the connection factory, and to create the connection factory definition file (`deploy/connectionfactory-[name].xml`).
-* the `-t` (`--type`) option is required. It's the type of the JMS connection factory. Currently on `activemq` and `webspheremq` type are supported. If you want to use another type of JMS connection factory, you can create the `deploy/connectionfactory-[name].xml` file by hand (using one as template).
-* the `-u` (`--url`) option is required. It's the URL used by the JMS connection factory to connect to the broker. If the type is `activemq`, the URL looks like `tcp://localhost:61616`. If the type is `webspheremq`, the URL looks like `host/port/queuemanager/channel`.
-
-For instance, to create a JMS connection factory for a Apache ActiveMQ broker, you can do:
-
-----
-karaf@root()> jms:create -t activemq -u tcp://localhost:61616 test
-----
-
-{warning}
-The `jms:create` command doesn't install any feature or bundle providing the JMS connection factory classes (and dependencies).
-You have to install the required features (for instance `activemq-broker` feature for Apache ActiveMQ), or bundles (for IBM WebsphereMQ) providing the JMS connection factory packages and classes.
-{warning}
-
-In the previous example, we assume that you previously installed the `activemq-broker` feature.
-
-We can see the created JMS connection factory:
-
-----
-karaf@root()> la
-...
-151 | Active   |  80 | 0.0.0                 | connectionfactory-test.xml
-----
-
-The `connectionfactory-test.xml` file has been created in the `deploy` folder.
-
-By default, the `jms:create` command constructs a JNDI name for the connection factory: `/jms/[name]`.
-
-It means that the connection factory name to use for the other `jms:*` commands is `/jms/[name]`.
-
-===  `jms:delete`
-
-The `jms:delete` command deletes a JMS connection factory. The `name` argument is the name that you used at creation time:
-
-----
-karaf@root()> jms:delete test
-----
-
-===  `jms:connectionfactories`
-
-The `jms:connectionfactories` command lists the JMS connection factories:
-
-----
-karaf@root()> jms:connectionfactories 
-JMS Connection Factory
-----------------------
-/jms/test     
-----
-
-===  `jms:info`
-
-The `jms:info` command provides details about the JMS connection factory:
-
-----
-karaf@root()> jms:info /jms/test
-Property | Value
--------------------
-product  | ActiveMQ
-version  | 5.9.0
-----
-
-You can see the JMS broker product and version.
-
-If the JMS broker requires an authentication, you can use the `-u` (`--username`) and `-p` (`--password`) options.
-
-===  `jms:queues`
-
-The `jms:queues` command lists the JMS queues available on a JMS broker. For instance:
-
-----
-karaf@root()> jms:queues /jms/test
-JMS Queues
-----------
-MyQueue
-----
-
-where `/jms/test` is the name of the JMS connection factory.
-
-If the JMS broker requires an authentication, you can use the `-u` (`--username`) and `-p` (`--password`) options.
-
-{warning}
-Depending of the JMS connection factory type, this command may not work.
-For now, the command works only with Apache ActiveMQ.
-{warning}
-
-===  `jms:topics`
-
-The `jms:topics` command lists the JMS topics available on a JMS broker. For instance:
-
-----
-karaf@root()> jms:topics /jms/test
-JMS Topics
-----------
-MyTopic
-----
-
-where `/jms/test` is the name of the JMS connection factory.
-
-If the JMS broker requires an authentication, you can use the `-u` (`--username`) and `-p` (`--password`) options.
-
-{warning}
-Depending of the JMS connection factory type, this command may not work.
-For now, the command works only with Apache ActiveMQ.
-{warning}
-
-===  `jms:send`
-
-The `jms:send` command sends a message to a given JMS queue.
-
-For instance, to send a message containing `Hello World` in the `MyQueue` queue, you can do:
-
-----
-karaf@root()> jms:send /jms/test MyQueue "Hello World"
-----
-
-If the JMS broker requires an authentication, you can use the `-u` (`--username`) and `-p` (`--password`) options.
-
-===  `jms:consume`
-
-The `jms:consume` command consumes messages from a JMS queue.
-
-For instance, to consume all messages from `MyQueue`, you can do:
-
-----
-karaf@root()> jms:consume /jms/test MyQueue
-2 message(s) consumed
-----
-
-If you want to consume only some messages, you can define a selector using the `-s` (`--selector`) option.
-
-If the JMS broker requires an authentication, you can use the `-u` (`--username`) and `-p` (`--password`) options.
-
-{warning}
-The `jms:consume` command just consumes (so removes) messages from a JMS queue. It doesn't display the messages.
-If you want to see the details of messages, you can use the `jms:browse` command.
-{warning}
-
-===  `jms:count`
-
-The `jms:count` command counts the number of pending messages into a JMS queue.
-
-For instance, if you want to know the number of messages on `MyQueue`, you can do:
-
-----
-karaf@root()> jms:count /jms/test MyQueue
-Messages Count
---------------
-8
-----
-
-If the JMS broker requires an authentication, you can use the `-u` (`--username`) and `-p` (`--password`) options.
-
-===  `jms:browse`
-
-The `jms:browse` command browses a JMS queue and display details about messages.
-
-For instance, to browse the `MyQueue` queue:
-
-----
-karaf@root()> jms:browse /jms/test MyQueue
-Message ID                              | Content        | Charset | Type | Correlation ID | Delivery Mode | Destination     | Expiration | Priority | Redelivered | ReplyTo | Timestamp
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ID:vostro-59602-1387462183019-3:1:1:1:1 | Hello World    | UTF-8   |      |                | Persistent    | queue://MyQueue | Never      | 4        | false       |         | Thu Dec 19 15:10:12 CET 2013
-ID:vostro-59602-1387462183019-3:2:1:1:1 | Hello ActiveMQ | UTF-8   |      |                | Persistent    | queue://MyQueue | Never      | 4        | false       |         | Thu Dec 19 15:10:16 CET 2013
-ID:vostro-59602-1387462183019-3:3:1:1:1 | Hello Karaf    | UTF-8   |      |                | Persistent    | queue://MyQueue | Never      | 4        | false       |         | Thu Dec 19 15:10:19 CET 2013
-----
-
-By default, the messages properties are not displayed. You can use the `-v` (`--verbose`) option to display the properties:
-
-----
-karaf@root()> jms:browse -v /jms/test MyQueue
-Message ID                              | Content        | Charset | Type | Correlation ID | Delivery Mode | Destination     | Expiration | Priority | Redelivered | ReplyTo | Timestamp                    | Properties
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-ID:vostro-59602-1387462183019-3:1:1:1:1 | Hello World    | UTF-8   |      |                | Persistent    | queue://MyQueue | Never      | 4        | false       |         | Thu Dec 19 15:10:12 CET 2013 |
-ID:vostro-59602-1387462183019-3:2:1:1:1 | Hello ActiveMQ | UTF-8   |      |                | Persistent    | queue://MyQueue | Never      | 4        | false       |         | Thu Dec 19 15:10:16 CET 2013 |
-ID:vostro-59602-1387462183019-3:3:1:1:1 | Hello Karaf    | UTF-8   |      |                | Persistent    | queue://MyQueue | Never      | 4        | false       |         | Thu Dec 19 15:10:19 CET 2013 |
-----
-
-If you want to browse only some messages, you can define a selector using the `-s` (`--selector`) option.
-
-If the JMS broker requires an authentication, you can use the `-u` (`--username`) and `-p` (`--password`) options.
-
-===  `jms:move`
-
-The `jms:move` command consumes all messages from a JMS queue and send it to another one.
-
-For instance, to move all messages from `MyQueue` queue to `AnotherQueue` queue, you can do:
-
-----
-karaf@root()> jms:move /jms/test MyQueue AnotherQueue
-3 message(s) moved
-----
-
-==  JMX JMS MBean
-
-The JMX JMS MBean provides the attributes and operations to manipulate the JMS connection factories and JMS messages.
-
-The object name to use is `org.apache.karaf:type=jms,name=*`.
-
-===  Attributes
-
-The `Connectionfactories` attribute provides the list of all JMS connection factories names.
-
-===  Operations
-
-* `create(name, type, url)` creates a JMS connection factory.
-* `delete(name)` deletes a JMS connection factory.
-* `Map<String, String> info(connectionFactory, username, password)` gets details about a JMS connection factory and broker.
-* `int count(connectionFactory, queue, username, password)` counts the number of pending messages on a JMS queue.
-* `List<String> queues(connectionFactory, username, password)` lists the JMS queues available on the JMS broker.
-* `List<String> topics(connectionFactory, username, password)` lists the JMS topics available on the JMS broker.
-* `TabularData browse(connectionFactory, queue, selector, username, password)` browses a JMS queue and provides a table of JMS messages.
-* `send(connectionFactory, queue, content, replyTo, username, password)` sends a JMS message to a target queue.
-* `int consume(connectionFactory, queue, selector, username, password)` consumes JMS messages from a JMS queue.
-* `int move(connectionFactory, source, destination, selector, username, password)` moves messages from a JMS queue to another.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/3de05ae9/manual/src/main/asciidoc/users-guide/jndi.adoc
----------------------------------------------------------------------
diff --git a/manual/src/main/asciidoc/users-guide/jndi.adoc b/manual/src/main/asciidoc/users-guide/jndi.adoc
deleted file mode 100644
index 2537dd2..0000000
--- a/manual/src/main/asciidoc/users-guide/jndi.adoc
+++ /dev/null
@@ -1,219 +0,0 @@
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//      http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-
-=  Naming (JNDI)
-
-The Apache Karaf Naming (JNDI) is an optional enterprise feature.
-
-You have to install the `jndi` feature first:
-
-----
-karaf@root()> feature:install jndi
-----
-
-Apache Karaf provides a complete JNDI support.
-
-You have two parts in the Apache Karaf JNDI support:
-
-* a fully compliant implementation of the OSGi Alliance JNDI Service specification.
-* a more "regular" JNDI context, containing different names that you can administrate.
-
-==  OSGi Services Registry and JNDI
-
-The OSGi Service Registry provides a centralized register/query capabilities for OSGi services.
-
-A common pattern outside of OSGi is to make use of JNDI API to access services from a directory system.
-The OSGi service registry can be viewed as an example of such a system.
-
-Apache Karaf supports the `osgi:service` lookup scheme as defined by the JNDI Service Specification.
-
-The schema is:
-
-----
-osgi:service/<interface>[/<filter>]
-----
-
-For instance, you can directly use JNDI to get a OSGi service:
-
-----
-Context ctx = new InitialContext();
-Runnable r = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
-----
-
-==  JNDI service
-
-Apache Karaf also supports regular JNDI, including a directoy system where you can register name bindings, sub-context, etc.
-
-It supports the standard JNDI API:
-
-----
-Context ctx = new InitialContext();
-Runnable r = (Runnable) ctx.lookup("this/is/the/name");
-----
-
-It also allows you to bind some OSGi services as "pure" JNDI name. In that case, you don't have to use the specific
-`osgi:service` scheme.
-
-==  Commands
-
-Apache Karaf provides specific commands to manipulate the JNDI service.
-
-===  `jndi:names`
-
-The `jndi:names` command lists all JNDI names. It groups both the JNDI names from the `osgi:service` scheme and the
-regular JNDI names:
-
-----
-karaf@root()> jndi:names
-JNDI Name         | Class Name
-------------------------------------------------------------------
-osgi:service/jndi | org.apache.karaf.jndi.internal.JndiServiceImpl
-jndi/service      | org.apache.karaf.jndi.internal.JndiServiceImpl
-----
-
-We can see here the `osgi:service/jndi` name (using the `osgi:service` scheme) and `jndi/service` name (using the
-regular JNDI service).
-
-The `jndi:names` command accepts an optional `context` argument to list names on the given context.
-
-For instance, you can list only names in the `jndi` sub-context:
-
-----
-karaf@root()> jndi:names jndi
-JNDI Name | Class Name
-----------------------------------------------------------
-service   | org.apache.karaf.jndi.internal.JndiServiceImpl
-----
-
-{warning}
-The `jndi:names` lists only names (the full qualified name). It means that the empty JNDI sub-contexts are not displayed.
-To display all JNDI sub-contexts (empty or not), you can use the `jndi:contexts` command.
-{warning}
-
-===  `jndi:contexts`
-
-The `jndi:contexts` command lists all JNDI sub-contexts:
-
-----
-karaf@root()> jndi:contexts
-JNDI Sub-Context
-----------------
-other/context
-foo/bar
-----
-
-===  `jndi:create`
-
-The `jndi:create` command creates a new JNDI sub-context:
-
-----
-karaf@root()> jndi:create my/company
-----
-
-===  `jndi:delete`
-
-The `jndi:delete` command deletes a JNDI sub-context:
-
-----
-karaf@root()> jndi:delete my/company
-----
-
-===  `jndi:alias`
-
-The `jndi:alias` command creates a new JNDI name (alias) with an existing one.
-
-The existing JNDI name can be a regular one:
-
-----
-karaf@root()> jndi:alias bean/services/jndi aliases/services/jndi
-karaf@root()> jndi:names
-JNDI Name             | Class Name
-----------------------------------------------------------------------
-osgi:service/jndi     | org.apache.karaf.jndi.internal.JndiServiceImpl
-bean/services/jndi    | org.apache.karaf.jndi.internal.JndiServiceImpl
-aliases/services/jndi | org.apache.karaf.jndi.internal.JndiServiceImpl
-----
-
-or a name from the `osgi:service` schema:
-
-----
-karaf@root()> jndi:alias osgi:service/jndi alias/jndi/service
-karaf@root()> jndi:names
-JNDI Name          | Class Name
--------------------------------------------------------------------
-osgi:service/jndi  | org.apache.karaf.jndi.internal.JndiServiceImpl
-alias/jndi/service | org.apache.karaf.jndi.internal.JndiServiceImpl
-----
-
-NB: the `jndi:alias` automatically creates all required JNDI sub-contexts.
-
-===  `jndi:bind`
-
-The `jndi:bind` command binds an OSGi service with a JNDI name.
-
-The `jndi:bind` command requires an OSGi service ID and a JNDI name. The OSGi service ID can be found using the `service:list` command.
-
-For instance, we can bind the OSGi service with ID 344 with the JNDI name `services/kar`:
-
-----
-karaf@root()> jndi:bind 344 services/kar
-karaf@root()> jndi:names
-JNDI Name         | Class Name
--------------------------------------------------------------------------------
-osgi:service/jndi | org.apache.karaf.jndi.internal.JndiServiceImpl
-services/kar      | org.apache.karaf.kar.internal.KarServiceImpl
-----
-
-===  `jndi:unbind`
-
-The `jndi:unbind` command unbind a given JNDI name:
-
-----
-karaf@root()> jndi:names
-JNDI Name         | Class Name
--------------------------------------------------------------------------------
-osgi:service/jndi | org.apache.karaf.jndi.internal.JndiServiceImpl
-services/kar      | org.apache.karaf.kar.internal.KarServiceImpl
-karaf@root()> jndi:unbind services/kar
-karaf@root()> jndi:names
-JNDI Name         | Class Name
--------------------------------------------------------------------------------
-osgi:service/jndi | org.apache.karaf.jndi.internal.JndiServiceImpl
-----
-
-{warning}
-It's not possible to unbind a name from the `osgi:service` schema, as it's linked to a OSGi service.
-{warning}
-
-==  JMX JndiMBean
-
-The JMX JndiMBean provides the JNDI names, and the operations to manipulate the JNDI service.
-
-The object name to use is `org.apache.karaf:type=jndi,name=*`.
-
-===  Attributes
-
-The `Names` attribute provides a map containing all JNDI names and class names from both `osgi:service` scheme
-and the regular JNDI service.
-
-The `Contexts` attribute provides a list containing all JNDI sub-contexts.
-
-===  Operations
-
-* `getNames(context)` provides a map containing JNDI names and class names in a given JNDI sub-context.
-* `create(context)` creates a new JNDI sub-context.
-* `delete(context)` deletes a JNDI sub-context.
-* `alias(name, alias` creates a JNDI name (alias) for a given one.
-* `bind(serviceId, name` binds a JNDI name using an OSGi service (identified by its ID).
-* `unbind(name)` unbinds a JNDI name.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/3de05ae9/manual/src/main/asciidoc/users-guide/jpa.adoc
----------------------------------------------------------------------
diff --git a/manual/src/main/asciidoc/users-guide/jpa.adoc b/manual/src/main/asciidoc/users-guide/jpa.adoc
deleted file mode 100644
index 7edfa1d..0000000
--- a/manual/src/main/asciidoc/users-guide/jpa.adoc
+++ /dev/null
@@ -1,40 +0,0 @@
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//      http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-
-=  Persistence (JPA)
-
-Apache Karaf provides JPA persistence providers (such as Apache OpenJPA) to be easy to use (in a OSGi way) and provide
-container managed persistence for applications (using Blueprint).
-
-Apache Karaf embeds Aries JPA, providing a very easy way to develop applications that use JPA persistence.
-
-See the developer guide for details about developing applications that use JPA.
-
-==  Persistence engine features
-
-Apache Karaf provides a set of ready to use persistence engine features:
-
-* Apache OpenJPA. The `openjpa` feature installs the `jpa` feature with the Apache OpenJPA as persistence engine:
-
-----
-karaf@root()> feature:install openjpa
-----
-
-* Hibernate. The `hibernate` feature installs the `jpa` feature with the Hibernate persistence engine:
-
-----
-karaf@root()> feature:install hibernate
-----
-
-* EclipseLink. The `eclipselink` feature will be available in the next Apache Karaf release.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/karaf/blob/3de05ae9/manual/src/main/asciidoc/users-guide/jta.adoc
----------------------------------------------------------------------
diff --git a/manual/src/main/asciidoc/users-guide/jta.adoc b/manual/src/main/asciidoc/users-guide/jta.adoc
deleted file mode 100644
index 137b809..0000000
--- a/manual/src/main/asciidoc/users-guide/jta.adoc
+++ /dev/null
@@ -1,119 +0,0 @@
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//      http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-
-=  Transaction (JTA)
-
-Apache Karaf provides container managed transactions, available as OSGi services.
-
-As most of the enterprise features, it's an optional feature that you can install with:
-
-----
-karaf@root()> feature:install transaction
-----
-
-However, the `transaction` feature is installed (as a transitive dependency) when installing enterprise features
-(like `jdbc` or `jms` features for instance).
-
-==  Apache Aries Transaction and ObjectWeb HOWL
-
-The `transaction` feature uses Apache Aries and ObjectWeb HOWL. Aapache Aries Transaction "exposes" the transaction
-manager as OSGi service. The actual implementation of the transaction manager is ObjectWeb HOWL.
-
-ObjectWeb HOWL is a logger implementation providing features required by the ObjectWeb JOTM project, with a public API
-that is generally usable by any Transaction Manager.
-ObjectWeb HOWL uses unformatted binary logs to maximize performance and specifies a journalization API with methods
-necessary to support JOTM recovery operations.
-
-ObjectWeb HOWL is intended to be used for logging of temporary data such as XA transaction events.
-It is not a replacement for traditional log kits such as LOG4J and Java SE Logging.
-
-In Apache Karaf, ObjectWeb HOWL (High-speed ObjectWeb Logger) is used to implement TransactionLog (in Aries Transaction),
-providing a very performant transaction manager in an OSGi way.
-
-==  Configuration
-
-The installation of the `transaction` feature installs a new configuration: `org.apache.aries.transaction`.
-
-You can see the configuration properties using:
-
-----
-karaf@root()> config:list "(service.pid=org.apache.aries.transaction)"
-----------------------------------------------------------------
-Pid:            org.apache.aries.transaction
-BundleLocation: mvn:org.apache.aries.transaction/org.apache.aries.transaction.manager/1.1.0
-Properties:
-   aries.transaction.recoverable = true
-   aries.transaction.timeout = 600
-   service.pid = org.apache.aries.transaction
-   org.apache.karaf.features.configKey = org.apache.aries.transaction
-   aries.transaction.howl.maxBlocksPerFile = 512
-   aries.transaction.howl.maxLogFiles = 2
-   aries.transaction.howl.logFileDir = /opt/apache-karaf-3.0.0/data/txlog
-   aries.transaction.howl.bufferSizeKBytes = 4
-----
-
-* `aries.transaction.recoverable` property is a flag to enable support of recoverable resource or not. A recoverable
- resource is a transactional object whose state is saved to stable storage if the transaction is committed, and whose
- state can be reset to what it was at the beginning of the transaction if the transaction is rolled back.
- At commit time, the transaction manager uses the two-phase XA protocol when communicating with the recoverable resource
- to ensure transactional integrity when more than one recoverable resource is involved in the transaction being committed.
- Transactional databases and message brokers like Apache ActiveMQ are examples of recoverable resources.
- A recoverable resource is represented using the javax.transaction.xa.XAResource interface in JTA.
- Default is `true`.
-* `aries.transaction.timeout` property is the transaction timeout. If a transaction has a lifetime longer than this timeout
- a transaction exception is raised and the transaction is rollbacked. Default is `600` (10 minutes).
-* `aries.transaction.howl.logFileDir` property is the directory where the transaction logs (journal) are stored.
- Default is `KARAF_DATA/txlog`.
-* `aries.transaction.howl.maxLogFiles` property is the maximum number of transaction log files to retain. Combined with the
- `aries.transaction.howl.maxBlocksPerFile`, it defines the transaction retention.
-
-You can change the configuration directly using the `config:*` commands, or the Config MBean.
-
-For instance, to increase the transaction timeout, you can do:
-
-----
-karaf@root()> config:edit org.apache.aries.transaction
-karaf@root()> config:property-set aries.transaction.timeout 1200
-karaf@root()> config:update
-karaf@root()> config:list "(service.pid=org.apache.aries.transaction)"
-----------------------------------------------------------------
-Pid:            org.apache.aries.transaction
-BundleLocation: mvn:org.apache.aries.transaction/org.apache.aries.transaction.manager/1.1.0
-Properties:
-   aries.transaction.recoverable = true
-   aries.transaction.timeout = 1200
-   service.pid = org.apache.aries.transaction
-   org.apache.karaf.features.configKey = org.apache.aries.transaction
-   aries.transaction.howl.maxBlocksPerFile = 512
-   aries.transaction.howl.maxLogFiles = 2
-   aries.transaction.howl.logFileDir = /opt/apache-karaf-3.0.0/data/txlog
-   aries.transaction.howl.bufferSizeKBytes = 4
-----
-
-{warning}
-The `transaction` feature defines the configuration in memory by default. It means that changes that you can do will
-be lost in case of Apache Karaf restart.
-If you want to define your own transaction configuration at startup, you have to create a `etc/org.apache.aries.transaction.cfg`
-configuration file and set the properties and values in the file. For instance:
-
-----
-# etc/org.apache.aries.transaction.cfg
-aries.transaction.recoverable = true
-aries.transaction.timeout = 1200
-aries.transaction.howl.maxBlocksPerFile = 512
-aries.transaction.howl.maxLogFiles = 2
-aries.transaction.howl.logFileDir = /opt/apache-karaf-3.0.0/data/txlog
-aries.transaction.howl.bufferSizeKBytes = 4
-----
-{warning}

http://git-wip-us.apache.org/repos/asf/karaf/blob/3de05ae9/manual/src/main/asciidoc/users-guide/kar.adoc
----------------------------------------------------------------------
diff --git a/manual/src/main/asciidoc/users-guide/kar.adoc b/manual/src/main/asciidoc/users-guide/kar.adoc
deleted file mode 100644
index a56cfe0..0000000
--- a/manual/src/main/asciidoc/users-guide/kar.adoc
+++ /dev/null
@@ -1,304 +0,0 @@
-// 
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-// 
-//      http://www.apache.org/licenses/LICENSE-2.0
-// 
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// 
-
-=  KAR
-
-As described in the [Provisioning section|provisioning], Apache Karaf features describe applications.
-
-A feature defines different resources to resolve using URL (for instance, bundles URLs, or configuration files URLs).
-As described in the [Artifacts repositories and URLs section|urls], Apache Karaf looks for artifacts (bundles,
-configuration files, ...) in the artifact repositories.
-Apache Karaf may require to download artifacts from remote repositories.
-
-Apache Karaf provides a special type of artifact that package a features XML and all resources described in the features
-of this XML. This artifact is named a KAR (KAraf aRchive).
-
-A KAR file is a zip archive containing the
-
-Basically, the kar format is a jar (so a zip file) which contains a set of feature descriptor and bundle jar files.
-
-A KAR file contains a `repository` folder containing:
-
-* a set of features XML files
-* the artifacts following the Maven directory structure (`groupId/artifactId/version/artifactId-version.type`).
-
-For instance, the `spring-3.0.0.kar` contains:
-
-----
-~$ unzip -l spring-3.0.0.kar
-Archive:  spring-3.0.0.kar
-  Length      Date    Time    Name
----------  ---------- -----   ----
-      143  2013-12-06 10:52   META-INF/MANIFEST.MF
-    12186  2013-12-06 10:52   repository/org/apache/karaf/features/spring/3.0.0/spring-3.0.0-features.xml
-   575389  2013-12-06 10:52   repository/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar
-   232019  2013-12-06 10:52   repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar
-   673109  2013-12-06 10:52   repository/org/apache/servicemix/bundles/org.apache.servicemix.bundles.struts/1.3.10_1/org.apache.servicemix.bundles.struts-1.3.10_1.jar
-    37084  2013-12-06 10:52   repository/org/springframework/org.springframework.web.struts/3.2.4.RELEASE/org.springframework.web.struts-3.2.4.RELEASE.jar
-     7411  2013-12-06 10:52   repository/org/springframework/org.springframework.instrument/3.2.4.RELEASE/org.springframework.instrument-3.2.4.RELEASE.jar
-   246881  2013-12-06 10:52   repository/org/springframework/org.springframework.transaction/3.2.4.RELEASE/org.springframework.transaction-3.2.4.RELEASE.jar
-    16513  2013-12-06 10:52   repository/org/apache/servicemix/bundles/org.apache.servicemix.bundles.aopalliance/1.0_6/org.apache.servicemix.bundles.aopalliance-1.0_6.jar
-   881124  2013-12-06 10:52   repository/org/springframework/org.springframework.core/3.2.4.RELEASE/org.springframework.core-3.2.4.RELEASE.jar
-   199240  2013-12-06 10:52   repository/org/springframework/org.springframework.expression/3.2.4.RELEASE/org.springframework.expression-3.2.4.RELEASE.jar
-   614646  2013-12-06 10:52   repository/org/springframework/org.springframework.beans/3.2.4.RELEASE/org.springframework.beans-3.2.4.RELEASE.jar
-   340841  2013-12-06 10:52   repository/org/springframework/org.springframework.aop/3.2.4.RELEASE/org.springframework.aop-3.2.4.RELEASE.jar
-   877369  2013-12-06 10:52   repository/org/springframework/org.springframework.context/3.2.4.RELEASE/org.springframework.context-3.2.4.RELEASE.jar
-   130224  2013-12-06 10:52   repository/org/springframework/org.springframework.context.support/3.2.4.RELEASE/org.springframework.context.support-3.2.4.RELEASE.jar
-    30640  2013-12-06 10:52   repository/org/apache/karaf/deployer/org.apache.karaf.deployer.spring/3.0.0/org.apache.karaf.deployer.spring-3.0.0.jar
-    51951  2013-12-06 10:52   repository/org/springframework/org.springframework.aspects/3.2.4.RELEASE/org.springframework.aspects-3.2.4.RELEASE.jar
-   411175  2013-12-06 10:52   repository/org/springframework/org.springframework.jdbc/3.2.4.RELEASE/org.springframework.jdbc-3.2.4.RELEASE.jar
-    48049  2013-12-06 10:52   repository/javax/portlet/portlet-api/2.0/portlet-api-2.0.jar
-   190883  2013-12-06 10:52   repository/org/springframework/org.springframework.web.portlet/3.2.4.RELEASE/org.springframework.web.portlet-3.2.4.RELEASE.jar
-   635680  2013-12-06 10:52   repository/org/springframework/org.springframework.web/3.2.4.RELEASE/org.springframework.web-3.2.4.RELEASE.jar
-   645946  2013-12-06 10:52   repository/org/springframework/org.springframework.web.servlet/3.2.4.RELEASE/org.springframework.web.servlet-3.2.4.RELEASE.jar
-   464911  2013-12-06 10:52   repository/org/springframework/org.springframework.test/3.2.4.RELEASE/org.springframework.test-3.2.4.RELEASE.jar
-    69784  2013-12-06 10:52   repository/org/springframework/osgi/spring-osgi-web/1.2.1/spring-osgi-web-1.2.1.jar
-    16030  2013-12-06 10:52   repository/org/apache/geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-jta_1.1_spec-1.1.1.jar
-    32359  2013-12-06 10:52   repository/org/apache/geronimo/specs/geronimo-jms_1.1_spec/1.1.1/geronimo-jms_1.1_spec-1.1.1.jar
-   208684  2013-12-06 10:52   repository/org/springframework/org.springframework.jms/3.2.4.RELEASE/org.springframework.jms-3.2.4.RELEASE.jar
-    75672  2013-12-06 10:52   repository/org/springframework/org.springframework.oxm/3.2.4.RELEASE/org.springframework.oxm-3.2.4.RELEASE.jar
-   393607  2013-12-06 10:52   repository/org/springframework/org.springframework.orm/3.2.4.RELEASE/org.springframework.orm-3.2.4.RELEASE.jar
-   338559  2013-12-06 10:52   repository/org/apache/servicemix/bundles/org.apache.servicemix.bundles.cglib/3.0_1/org.apache.servicemix.bundles.cglib-3.0_1.jar
-    35859  2013-12-06 10:52   repository/org/springframework/osgi/spring-osgi-io/1.2.1/spring-osgi-io-1.2.1.jar
-   362889  2013-12-06 10:52   repository/org/springframework/osgi/spring-osgi-core/1.2.1/spring-osgi-core-1.2.1.jar
-   120822  2013-12-06 10:52   repository/org/springframework/osgi/spring-osgi-extender/1.2.1/spring-osgi-extender-1.2.1.jar
-    24231  2013-12-06 10:52   repository/org/springframework/osgi/spring-osgi-annotation/1.2.1/spring-osgi-annotation-1.2.1.jar
-    12597  2013-12-06 10:52   repository/org/apache/karaf/bundle/org.apache.karaf.bundle.springstate/3.0.0/org.apache.karaf.bundle.springstate-3.0.0.jar
-    31903  2013-12-06 10:52   repository/org/eclipse/gemini/blueprint/gemini-blueprint-io/1.0.0.RELEASE/gemini-blueprint-io-1.0.0.RELEASE.jar
-   578205  2013-12-06 10:52   repository/org/eclipse/gemini/blueprint/gemini-blueprint-core/1.0.0.RELEASE/gemini-blueprint-core-1.0.0.RELEASE.jar
-   178525  2013-12-06 10:52   repository/org/eclipse/gemini/blueprint/gemini-blueprint-extender/1.0.0.RELEASE/gemini-blueprint-extender-1.0.0.RELEASE.jar
----------                     -------
-  9803140                     38 files
-----
-
-As a KAR file is a simple zip file, you can create the KAR file by hand.
-
-For instance, the following Unix commands create a very simple KAR file:
-
-----
-~$ mkdir repository
-~$ cp /path/to/features.xml repository/features.xml
-~$ cp /path/to/my.jar repository/my/project/my/1.0.0/my-1.0.0.jar
-~$ zip -r my.kar repository
-updating: repository/ (stored 0%)
-  adding: repository/my/project/my/1.0.0/my-1.0.0.jar (deflated 0%)
-----
-
-You can create KAR files using Apache Maven, or directly in the Apache Karaf console.
-
-==  Maven
-
-Apache Karaf provides a Maven plugin: `karaf-maven-plugin`.
-
-The Apache Karaf Maven plugin provides the `kar` goal.
-
-The `kar` goal does:
-1. Reads all features specified in the features XML.
-2. For each feature described in the features XML, the goal resolves the bundles described in the feature.
-3. The goal finally packages the features XML, and the resolved bundles in a zip file.
-
-For instance, the following Maven POM create `my-kar.kar`
-
-For instance, you can use the following POM to create a kar:
-
-{code:lang=xml}
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
-    <modelVersion>4.0.0</modelVersion>
-
-    <groupId>my.groupId</groupId>
-    <artifactId>my-kar</artifactId>
-    <version>1.0</version>
-    <packaging>pom</packaging>
-
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.karaf.tooling</groupId>
-                <artifactId>karaf-maven-plugin</artifactId>
-                <version>3.0.0</version>
-                <executions>
-                    <execution>
-                        <id>kar</id>
-                        <goals>
-                            <goal>kar</goal>
-                        </goals>
-                        <configuration>
-                            <featuresFile>src/main/resources/features.xml</featuresFile>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-        </plugins>
-    </build>
-
-</project>
-----
-
-To create the KAR file, simply type:
-
-----
-~$ mvn install
-----
-
-Uou will have your kar in the `target` directory.
-
-==  Commands
-
-Apache Karaf provides `kar:*` commands to manage KAR archives.
-
-===  `kar:list`
-
-The `kar:list` command lists the installed KAR archives.
-
-----
-karaf@root()> kar:list
-KAR Name
--------------------
-my-kar-1.0-SNAPSHOT
-----
-
-A KAR is identified by its name.
-
-===  `kar:create`
-
-Instead of using the `karaf-maven-plugin` or create the KAR archive by hand, you can use the `kar:create` command.
-
-The `kar:create` command creates a KAR file using a registered features repository.
-
-For instance, you want to create a KAR file for the Pax Web repository.
-
-The `feature:repo-list` command gives you the list of registered features repositories:
-
-----
-karaf@root()> feature:repo-list
-Repository                       | URL
--------------------------------------------------------------------------------------------------------
-standard-3.0.0                   | mvn:org.apache.karaf.features/standard/3.0.0/xml/features
-enterprise-3.0.0                 | mvn:org.apache.karaf.features/enterprise/3.0.0/xml/features
-spring-3.0.0                     | mvn:org.apache.karaf.features/spring/3.0.0/xml/features
-org.ops4j.pax.web-3.0.5          | mvn:org.ops4j.pax.web/pax-web-features/3.0.5/xml/features
-----
-
-You can use one of these features repositories to create the kar file:
-
-----
-karaf@root()> kar:create org.ops4j.pax.web-3.0.5
-Adding feature pax-war
-Adding feature pax-http-whiteboard
-Adding feature pax-jetty
-Adding feature pax-tomcat
-Adding feature pax-http
-Kar file created : /opt/apache-karaf-3.0.0/data/kar/org.ops4j.pax.web-3.0.5.kar
-----
-
-You can see that the KAR file has been created in the `KARAF_DATA/kar` folder.
-
-By default, the `kar:create` command creates a KAR file, packaging all features in the features descriptor.
-
-You can provide the list of features that you want to package into the KAR file:
-
-----
-karaf@root()> kar:create org.ops4j.pax.web-3.0.5 pax-jetty pax-tomcat
-Adding feature pax-jetty
-Adding feature pax-tomcat
-Kar file created : /opt/apache-karaf-3.0.0/data/kar/org.ops4j.pax.web-3.0.5.kar
-----
-
-===  `kar:install`
-
-You can deploy a KAR file using `kar:install` command.
-
-The `kar:install` command expects the KAR URL. Any URL described in the [Artifacts repositories and URLs section|urls]
-is supported by the `kar:install` command:
-
-----
-karaf@root()> kar:install file:/tmp/my-kar-1.0-SNAPSHOT.kar
-----
-
-The KAR file is uncompressed and populated the `KARAF_BASE/system` folder.
-
-The Apache Karaf KAR service is looking for features XML files in the KAR file, registers the features XML and automatically
-installs all features described in the features repositories present in the KAR file.
-
-===  `kar:uninstall`
-
-The `kar:uninstall` command uninstall a KAR file (identified by a name).
-
-By uninstall, it means that:
-
-* the features previously installed by the KAR file are uninstalled
-* delete (from the `KARAF_DATA/system` repository) all files previously "populated" by the KAR file
-
-For instance, to uninstall the previously installed `my-kar-1.0-SNAPSHOT.kar` KAR file:
-
-----
-karaf@root()> kar:uninstall my-kar-1.0-SNAPSHOT
-----
-
-==  Deployer
-
-Apache Karaf also provides a KAR deployer. It means that you can drop a KAR file directly in the `deploy` folder.
-
-Apache Karaf will automatically install KAR files from the `deploy` folder.
-
-You can change the behaviours of the KAR deployer in the `etc/org.apache.karaf.kar.cfg`:
-
-----
-################################################################################
-#
-#    Licensed to the Apache Software Foundation (ASF) under one or more
-#    contributor license agreements.  See the NOTICE file distributed with
-#    this work for additional information regarding copyright ownership.
-#    The ASF licenses this file to You under the Apache License, Version 2.0
-#    (the "License"); you may not use this file except in compliance with
-#    the License.  You may obtain a copy of the License at
-#
-#       http://www.apache.org/licenses/LICENSE-2.0
-#
-#    Unless required by applicable law or agreed to in writing, software
-#    distributed under the License is distributed on an "AS IS" BASIS,
-#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#    See the License for the specific language governing permissions and
-#    limitations under the License.
-#
-################################################################################
-
-#
-# Enable or disable the refresh of the bundles when installing
-# the features contained in a KAR file
-#
-noAutoRefreshBundles=false
-----
-
-By default, when the KAR deployer install features, by default, it refresh the bundles already installed.
-You can disable the automatic bundles refresh by setting the `noAutoRefreshBundles` property to `false`.
-
-==  JMX KarMBean
-
-On the JMX layer, you have a MBean dedicated to the management of the KAR files.
-
-The ObjectName to use is `org.apache.karaf:type=kar,name=*`.
-
-===  Attributes
-
-The `Kars` attributes provides the list of KAR files (name) installed.
-
-===  Operations
-
-* `install(url)` installs the KAR file at the given `url`.
-* `create(repository, features)` creates a KAR file using the given features `repository` name, and optionally the
-list of `features` to include in the KAR file.
-* `uninstall(name)` uninstalls a KAR file with the given `name`.
\ No newline at end of file


Mime
View raw message