You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2013/12/25 07:31:55 UTC

svn commit: r1553356 [26/31] - in /karaf/site/production/manual/latest: ./ commands/ developers-guide/ users-guide/

Added: karaf/site/production/manual/latest/users-guide/jndi.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/jndi.html?rev=1553356&view=auto
==============================================================================
--- karaf/site/production/manual/latest/users-guide/jndi.html (added)
+++ karaf/site/production/manual/latest/users-guide/jndi.html Wed Dec 25 06:31:51 2013
@@ -0,0 +1,214 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> 
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="description" content="description goes here"/>
+    <meta name="keywords" content="keywords,goes,here"/>
+    <meta name="author" content="The Apache Karaf Team"/>
+    <link href="../css/style.css" rel="stylesheet" type="text/css"/>
+    <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
+    <title>
+      Apache Karaf 3.0.1-SNAPSHOT Guides
+    </title>
+  </head>
+  <body>
+    <table width="100%" cellpadding="0" cellspacing="0">
+      <tr width="100%">
+        <td id="cell-0-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-0-1">
+          &nbsp;
+        </td>
+        <td id="cell-0-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-1-0">
+          &nbsp;
+        </td>
+        <td id="cell-1-1">
+          &nbsp;
+        </td>
+        <td id="cell-1-2">
+          <div style="padding: 5px;">
+            <div id="banner">
+                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+<a href="http://karaf.apache.org/" title="A server side OSGi distribution">
+            <img border="0" src="../images/karaf-logo.png" width="400px"></img>
+</a>
+          </td>
+          <td align="right" nowrap="">
+<a href="http://www.apache.org/" title="The Apache Sofware Foundation">
+            <img border="0" src="../images/asf-logo.png">
+</a>
+          </td>
+        </tr>
+      </table>
+
+            </div>
+            <div id="top-menu">
+              <table border="0" cellpadding="1" cellspacing="0" width="100%">
+                <tr>
+                  <td>
+                    <div align="left"></div>
+                  </td>
+                  <td>
+                    <div align="right">
+                      <p>
+<a href="../index.html" title="Home">Home</a>
+&#124;
+<a href="index.html" title="Users Guide">Users Guide</a>
+&#124;
+<a href="../developers-guide/index.html" title="Developers Guide">Developers Guide</a>
+</p>
+
+
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </div>
+        </td>
+        <td id="cell-1-3">
+          &nbsp;
+        </td>
+        <td id="cell-1-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-2-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-2-1">
+          <table>
+            <tr height="100%" valign="top">
+              <td height="100%">
+                <div id="wrapper-menu-page-right">
+                  <div id="wrapper-menu-page-top">
+                    <div id="wrapper-menu-page-bottom">
+                      <div id="menu-page">
+                        <h3 id="Homeindex"><a href="../index.html">Home</a></h3><ul style="list-style: square"><li><a href="../overview.html">Overview</a></li><li><a href="../quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="installation.html">Installation</a></li><li><a href="directory-structure.html">Directory structure</a></li><li><a href="start-stop.html">Start, stop, restart, connect</a></li><li><a href="wrapper.html">Integration in the operating system: the Service Wrapper</a></li><li><a href="console.html">Console</a></li><li><a href="remote.html">Remote</a></li><li><a href="log.html">Log</a></li><li><a href="configuration.html">Configuration</a></li><li><a href="urls.html">Artifacts repositories and URLs</a></li><li><a href="provisioning.html">Provisioning and features</a></li><li><a href="deployers.html">Deployers</a></li><li><a href="kar.html">KAR</a></li><li><a
  href="instances.html">Instances</a></li><li><a href="security.html">Security</a></li><li><a href="obr.html">OBR</a></li><li><a href="enterprise.html">Enterprise</a><ul><li><a href="webcontainer.html">WebContainer (JSP/Servlet)</a></li><li><a href="jndi.html">Naming (JNDI)</a></li><li><a href="jta.html">Transaction (JTA)</a></li><li><a href="jdbc.html">DataSource (JDBC)</a></li><li><a href="jms.html">MOM (JMS)</a></li><li><a href="jpa.html">Persistence (JPA)</a></li><li><a href="ejb.html">EJB</a></li><li><a href="cdi.html">CDI</a></li><li><a href="failover.html">HA/failover and cluster</a></li></ul></li><li><a href="monitoring.html">Monitoring and Management using JMX</a></li><li><a href="webconsole.html">WebConsole</a></li><li><a href="tuning.html">Tuning</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="../developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="../developers-guide/developer-commands.html">Developer command
 s</a></li><li><a href="../developers-guide/scripting.html">Scripting</a></li><li><a href="../developers-guide/connect.html">Programmatically connect</a></li><li><a href="../developers-guide/branding.html">Branding</a></li><li><a href="../developers-guide/extending.html">Extending</a></li><li><a href="../developers-guide/karaf-maven-plugin.html">Karaf Maven plugin</a></li><li><a href="../developers-guide/custom-distribution.html">Custom distribution</a></li><li><a href="../developers-guide/services.html">OSGi services</a></li><li><a href="../developers-guide/creating-bundles.html">Create OSGi bundle</a></li><li><a href="../developers-guide/blueprint.html">Blueprint</a></li><li><a href="../developers-guide/cdi.html">CDI</a></li><li><a href="../developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="../developers-guide/security-framework.html">Security Framework</a></li><li><a href="../developers-guide/debugging.html">Troubleshooting, Debugging, Profiling</a></li><li><a
  href="../developers-guide/writing-tests.html">Integration testing</a></li><li><a href="../developers-guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="../commands/commands.html">Commands</a></h3>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+              <td height="100%" width="100%">
+                <div class="wiki-content">
+<h1 id="NamingJNDI">Naming (JNDI)</h1><p>The Apache Karaf Naming (JNDI) is an optional enterprise feature.</p><p>You have to install the <tt>jndi</tt> feature first:</p><pre>
+karaf@root()> feature:install jndi
+</pre><p>Apache Karaf provides a complete JNDI support.</p><p>You have two parts in the Apache Karaf JNDI support:</p><ul><li>a fully compliant implementation of the OSGi Alliance JNDI Service specification.</li><li>a more "regular" JNDI context, containing different names that you can administrate.</li></ul><h2 id="OSGiServicesRegistryandJNDI">OSGi Services Registry and JNDI</h2><p>The OSGi Service Registry provides a centralized register/query capabilities for OSGi services.</p><p>A common pattern outside of OSGi is to make use of JNDI API to access services from a directory system.<br/>The OSGi service registry can be viewed as an example of such a system.</p><p>Apache Karaf supports the <tt>osgi:service</tt> lookup scheme as defined by the JNDI Service Specification.</p><p>The schema is:</p><pre>
+osgi:service/&lt;interface>[/&lt;filter>]
+</pre><p>For instance, you can directly use JNDI to get a OSGi service:</p><pre>
+Context ctx = new InitialContext();
+Runnable r = (Runnable) ctx.lookup("osgi:service/java.lang.Runnable");
+</pre><h2 id="JNDIservice">JNDI service</h2><p>Apache Karaf also supports regular JNDI, including a directoy system where you can register name bindings, sub-context, etc.</p><p>It supports the standard JNDI API:</p><pre>
+Context ctx = new InitialContext();
+Runnable r = (Runnable) ctx.lookup("this/is/the/name");
+</pre><p>It also allows you to bind some OSGi services as "pure" JNDI name. In that case, you don't have to use the specific<br/><tt>osgi:service</tt> scheme.</p><h2 id="Commands">Commands</h2><p>Apache Karaf provides specific commands to manipulate the JNDI service.</p><h3 id="jndinames"><tt>jndi:names</tt></h3><p>The <tt>jndi:names</tt> command lists all JNDI names. It groups both the JNDI names from the <tt>osgi:service</tt> scheme and the<br/>regular JNDI names:</p><pre>
+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
+</pre><p>We can see here the <tt>osgi:service/jndi</tt> name (using the <tt>osgi:service</tt> scheme) and <tt>jndi/service</tt> name (using the<br/>regular JNDI service).</p><p>The <tt>jndi:names</tt> command accepts an optional <tt>context</tt> argument to list names on the given context.</p><p>For instance, you can list only names in the <tt>jndi</tt> sub-context:</p><pre>
+karaf@root()> jndi:names jndi
+JNDI Name | Class Name
+----------------------------------------------------------
+service   | org.apache.karaf.jndi.internal.JndiServiceImpl
+</pre><div class="warning" style="border: 1px solid #c00;background-color: #fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p>The <tt>jndi:names</tt> lists only names (the full qualified name). It means that the empty JNDI sub-contexts are not displayed.<br/>To display all JNDI sub-contexts (empty or not), you can use the <tt>jndi:contexts</tt> command.</p></div><h3 id="jndicontexts"><tt>jndi:contexts</tt></h3><p>The <tt>jndi:contexts</tt> command lists all JNDI sub-contexts:</p><pre>
+karaf@root()> jndi:contexts
+JNDI Sub-Context
+----------------
+other/context
+foo/bar
+</pre><h3 id="jndicreate"><tt>jndi:create</tt></h3><p>The <tt>jndi:create</tt> command creates a new JNDI sub-context:</p><pre>
+karaf@root()> jndi:create my/company
+</pre><h3 id="jndidelete"><tt>jndi:delete</tt></h3><p>The <tt>jndi:delete</tt> command deletes a JNDI sub-context:</p><pre>
+karaf@root()> jndi:delete my/company
+</pre><h3 id="jndialias"><tt>jndi:alias</tt></h3><p>The <tt>jndi:alias</tt> command creates a new JNDI name (alias) with an existing one.</p><p>The existing JNDI name can be a regular one:</p><pre>
+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
+</pre><p>or a name from the <tt>osgi:service</tt> schema:</p><pre>
+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
+</pre><p>NB: the <tt>jndi:alias</tt> automatically creates all required JNDI sub-contexts.</p><h3 id="jndibind"><tt>jndi:bind</tt></h3><p>The <tt>jndi:bind</tt> command binds an OSGi service with a JNDI name.</p><p>The <tt>jndi:bind</tt> command requires an OSGi service ID and a JNDI name. The OSGi service ID can be found using the <tt>service:list</tt> command.</p><p>For instance, we can bind the OSGi service with ID 344 with the JNDI name <tt>services/kar</tt>:</p><pre>
+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
+</pre><h3 id="jndiunbind"><tt>jndi:unbind</tt></h3><p>The <tt>jndi:unbind</tt> command unbind a given JNDI name:</p><pre>
+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
+</pre><div class="warning" style="border: 1px solid #c00;background-color: #fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p>It's not possible to unbind a name from the <tt>osgi:service</tt> schema, as it's linked to a OSGi service.</p></div><h2 id="JMXJndiMBean">JMX JndiMBean</h2><p>The JMX JndiMBean provides the JNDI names, and the operations to manipulate the JNDI service.</p><p>The object name to use is <tt>org.apache.karaf:type=jndi,name=*</tt>.</p><h3 id="Attributes">Attributes</h3><p>The <tt>Names</tt> attribute provides a map containing all JNDI names and class names from both <tt>osgi:service</tt> scheme<br/>and the regular JNDI service.</p><p>The <tt>Contexts</tt> attribute provides a list containing all JNDI sub-contexts.</p><h3 id="Operations">Operations</h3><ul><li><tt>getNames(context)</tt> provides a map containing JNDI names and class names in a given JNDI sub-context.</li><li><tt>create(context)</tt> creates a new JNDI sub-context.</li><li><tt>delete(context)</tt> del
 etes a JNDI sub-context.</li><li><tt>alias(name, alias</tt> creates a JNDI name (alias) for a given one.</li><li><tt>bind(serviceId, name</tt> binds a JNDI name using an OSGi service (identified by its ID).</li><li><tt>unbind(name)</tt> unbinds a JNDI name.</li></ul>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td id="cell-2-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-3-0">
+          &nbsp;
+        </td>
+        <td id="cell-3-1">
+          &nbsp;
+        </td>
+        <td id="cell-3-2">
+          <div id="footer">
+            <div id="site-footer">
+              &copy; 2008-2011 The Apache Software Foundation
+              <br/>
+              Apache Karaf, Karaf, Apache, the Apache feather logo, and the Apache Karaf project logo are trademarks of The Apache Software Foundation.
+            </div>
+          </div>
+        </td>
+        <td id="cell-3-3">
+          &nbsp;
+        </td>
+        <td id="cell-3-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-4-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-4-1">
+          &nbsp;
+        </td>
+        <td id="cell-4-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
\ No newline at end of file

Added: karaf/site/production/manual/latest/users-guide/jpa.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/jpa.html?rev=1553356&view=auto
==============================================================================
--- karaf/site/production/manual/latest/users-guide/jpa.html (added)
+++ karaf/site/production/manual/latest/users-guide/jpa.html Wed Dec 25 06:31:51 2013
@@ -0,0 +1,154 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> 
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="description" content="description goes here"/>
+    <meta name="keywords" content="keywords,goes,here"/>
+    <meta name="author" content="The Apache Karaf Team"/>
+    <link href="../css/style.css" rel="stylesheet" type="text/css"/>
+    <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
+    <title>
+      Apache Karaf 3.0.1-SNAPSHOT Guides
+    </title>
+  </head>
+  <body>
+    <table width="100%" cellpadding="0" cellspacing="0">
+      <tr width="100%">
+        <td id="cell-0-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-0-1">
+          &nbsp;
+        </td>
+        <td id="cell-0-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-1-0">
+          &nbsp;
+        </td>
+        <td id="cell-1-1">
+          &nbsp;
+        </td>
+        <td id="cell-1-2">
+          <div style="padding: 5px;">
+            <div id="banner">
+                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+<a href="http://karaf.apache.org/" title="A server side OSGi distribution">
+            <img border="0" src="../images/karaf-logo.png" width="400px"></img>
+</a>
+          </td>
+          <td align="right" nowrap="">
+<a href="http://www.apache.org/" title="The Apache Sofware Foundation">
+            <img border="0" src="../images/asf-logo.png">
+</a>
+          </td>
+        </tr>
+      </table>
+
+            </div>
+            <div id="top-menu">
+              <table border="0" cellpadding="1" cellspacing="0" width="100%">
+                <tr>
+                  <td>
+                    <div align="left"></div>
+                  </td>
+                  <td>
+                    <div align="right">
+                      <p>
+<a href="../index.html" title="Home">Home</a>
+&#124;
+<a href="index.html" title="Users Guide">Users Guide</a>
+&#124;
+<a href="../developers-guide/index.html" title="Developers Guide">Developers Guide</a>
+</p>
+
+
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </div>
+        </td>
+        <td id="cell-1-3">
+          &nbsp;
+        </td>
+        <td id="cell-1-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-2-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-2-1">
+          <table>
+            <tr height="100%" valign="top">
+              <td height="100%">
+                <div id="wrapper-menu-page-right">
+                  <div id="wrapper-menu-page-top">
+                    <div id="wrapper-menu-page-bottom">
+                      <div id="menu-page">
+                        <h3 id="Homeindex"><a href="../index.html">Home</a></h3><ul style="list-style: square"><li><a href="../overview.html">Overview</a></li><li><a href="../quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="installation.html">Installation</a></li><li><a href="directory-structure.html">Directory structure</a></li><li><a href="start-stop.html">Start, stop, restart, connect</a></li><li><a href="wrapper.html">Integration in the operating system: the Service Wrapper</a></li><li><a href="console.html">Console</a></li><li><a href="remote.html">Remote</a></li><li><a href="log.html">Log</a></li><li><a href="configuration.html">Configuration</a></li><li><a href="urls.html">Artifacts repositories and URLs</a></li><li><a href="provisioning.html">Provisioning and features</a></li><li><a href="deployers.html">Deployers</a></li><li><a href="kar.html">KAR</a></li><li><a
  href="instances.html">Instances</a></li><li><a href="security.html">Security</a></li><li><a href="obr.html">OBR</a></li><li><a href="enterprise.html">Enterprise</a><ul><li><a href="webcontainer.html">WebContainer (JSP/Servlet)</a></li><li><a href="jndi.html">Naming (JNDI)</a></li><li><a href="jta.html">Transaction (JTA)</a></li><li><a href="jdbc.html">DataSource (JDBC)</a></li><li><a href="jms.html">MOM (JMS)</a></li><li><a href="jpa.html">Persistence (JPA)</a></li><li><a href="ejb.html">EJB</a></li><li><a href="cdi.html">CDI</a></li><li><a href="failover.html">HA/failover and cluster</a></li></ul></li><li><a href="monitoring.html">Monitoring and Management using JMX</a></li><li><a href="webconsole.html">WebConsole</a></li><li><a href="tuning.html">Tuning</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="../developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="../developers-guide/developer-commands.html">Developer command
 s</a></li><li><a href="../developers-guide/scripting.html">Scripting</a></li><li><a href="../developers-guide/connect.html">Programmatically connect</a></li><li><a href="../developers-guide/branding.html">Branding</a></li><li><a href="../developers-guide/extending.html">Extending</a></li><li><a href="../developers-guide/karaf-maven-plugin.html">Karaf Maven plugin</a></li><li><a href="../developers-guide/custom-distribution.html">Custom distribution</a></li><li><a href="../developers-guide/services.html">OSGi services</a></li><li><a href="../developers-guide/creating-bundles.html">Create OSGi bundle</a></li><li><a href="../developers-guide/blueprint.html">Blueprint</a></li><li><a href="../developers-guide/cdi.html">CDI</a></li><li><a href="../developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="../developers-guide/security-framework.html">Security Framework</a></li><li><a href="../developers-guide/debugging.html">Troubleshooting, Debugging, Profiling</a></li><li><a
  href="../developers-guide/writing-tests.html">Integration testing</a></li><li><a href="../developers-guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="../commands/commands.html">Commands</a></h3>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+              <td height="100%" width="100%">
+                <div class="wiki-content">
+<h1 id="PersistenceJPA">Persistence (JPA)</h1><p>Apache Karaf provides JPA persistence providers (such as Apache OpenJPA) to be easy to use (in a OSGi way) and provide<br/>container managed persistence for applications (using Blueprint).</p><p>Apache Karaf embeds Aries JPA, providing a very easy way to develop applications that use JPA persistence.</p><p>See the developer guide for details about developing applications that use JPA.</p><h2 id="Persistenceenginefeatures">Persistence engine features</h2><p>Apache Karaf provides a set of ready to use persistence engine features:</p><ul><li>Apache OpenJPA. The <tt>openjpa</tt> feature installs the <tt>jpa</tt> feature with the Apache OpenJPA as persistence engine:</li></ul><pre>
+karaf@root()> feature:install openjpa
+</pre><ul><li>Hibernate. The <tt>hibernate</tt> feature installs the <tt>jpa</tt> feature with the Hibernate persistence engine:</li></ul><pre>
+karaf@root()> feature:install hibernate
+</pre><ul><li>EclipseLink. The <tt>eclipselink</tt> feature will be available in the next Apache Karaf release.</li></ul>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td id="cell-2-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-3-0">
+          &nbsp;
+        </td>
+        <td id="cell-3-1">
+          &nbsp;
+        </td>
+        <td id="cell-3-2">
+          <div id="footer">
+            <div id="site-footer">
+              &copy; 2008-2011 The Apache Software Foundation
+              <br/>
+              Apache Karaf, Karaf, Apache, the Apache feather logo, and the Apache Karaf project logo are trademarks of The Apache Software Foundation.
+            </div>
+          </div>
+        </td>
+        <td id="cell-3-3">
+          &nbsp;
+        </td>
+        <td id="cell-3-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-4-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-4-1">
+          &nbsp;
+        </td>
+        <td id="cell-4-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
\ No newline at end of file

Added: karaf/site/production/manual/latest/users-guide/jta.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/jta.html?rev=1553356&view=auto
==============================================================================
--- karaf/site/production/manual/latest/users-guide/jta.html (added)
+++ karaf/site/production/manual/latest/users-guide/jta.html Wed Dec 25 06:31:51 2013
@@ -0,0 +1,191 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> 
+<html lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="description" content="description goes here"/>
+    <meta name="keywords" content="keywords,goes,here"/>
+    <meta name="author" content="The Apache Karaf Team"/>
+    <link href="../css/style.css" rel="stylesheet" type="text/css"/>
+    <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
+    <title>
+      Apache Karaf 3.0.1-SNAPSHOT Guides
+    </title>
+  </head>
+  <body>
+    <table width="100%" cellpadding="0" cellspacing="0">
+      <tr width="100%">
+        <td id="cell-0-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-0-1">
+          &nbsp;
+        </td>
+        <td id="cell-0-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-1-0">
+          &nbsp;
+        </td>
+        <td id="cell-1-1">
+          &nbsp;
+        </td>
+        <td id="cell-1-2">
+          <div style="padding: 5px;">
+            <div id="banner">
+                    <table border="0" cellpadding="0" cellspacing="0" width="100%">
+        <tr>
+          <td align="left" class="topbardiv" nowrap="">
+<a href="http://karaf.apache.org/" title="A server side OSGi distribution">
+            <img border="0" src="../images/karaf-logo.png" width="400px"></img>
+</a>
+          </td>
+          <td align="right" nowrap="">
+<a href="http://www.apache.org/" title="The Apache Sofware Foundation">
+            <img border="0" src="../images/asf-logo.png">
+</a>
+          </td>
+        </tr>
+      </table>
+
+            </div>
+            <div id="top-menu">
+              <table border="0" cellpadding="1" cellspacing="0" width="100%">
+                <tr>
+                  <td>
+                    <div align="left"></div>
+                  </td>
+                  <td>
+                    <div align="right">
+                      <p>
+<a href="../index.html" title="Home">Home</a>
+&#124;
+<a href="index.html" title="Users Guide">Users Guide</a>
+&#124;
+<a href="../developers-guide/index.html" title="Developers Guide">Developers Guide</a>
+</p>
+
+
+                    </div>
+                  </td>
+                </tr>
+              </table>
+            </div>
+          </div>
+        </td>
+        <td id="cell-1-3">
+          &nbsp;
+        </td>
+        <td id="cell-1-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-2-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-2-1">
+          <table>
+            <tr height="100%" valign="top">
+              <td height="100%">
+                <div id="wrapper-menu-page-right">
+                  <div id="wrapper-menu-page-top">
+                    <div id="wrapper-menu-page-bottom">
+                      <div id="menu-page">
+                        <h3 id="Homeindex"><a href="../index.html">Home</a></h3><ul style="list-style: square"><li><a href="../overview.html">Overview</a></li><li><a href="../quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="installation.html">Installation</a></li><li><a href="directory-structure.html">Directory structure</a></li><li><a href="start-stop.html">Start, stop, restart, connect</a></li><li><a href="wrapper.html">Integration in the operating system: the Service Wrapper</a></li><li><a href="console.html">Console</a></li><li><a href="remote.html">Remote</a></li><li><a href="log.html">Log</a></li><li><a href="configuration.html">Configuration</a></li><li><a href="urls.html">Artifacts repositories and URLs</a></li><li><a href="provisioning.html">Provisioning and features</a></li><li><a href="deployers.html">Deployers</a></li><li><a href="kar.html">KAR</a></li><li><a
  href="instances.html">Instances</a></li><li><a href="security.html">Security</a></li><li><a href="obr.html">OBR</a></li><li><a href="enterprise.html">Enterprise</a><ul><li><a href="webcontainer.html">WebContainer (JSP/Servlet)</a></li><li><a href="jndi.html">Naming (JNDI)</a></li><li><a href="jta.html">Transaction (JTA)</a></li><li><a href="jdbc.html">DataSource (JDBC)</a></li><li><a href="jms.html">MOM (JMS)</a></li><li><a href="jpa.html">Persistence (JPA)</a></li><li><a href="ejb.html">EJB</a></li><li><a href="cdi.html">CDI</a></li><li><a href="failover.html">HA/failover and cluster</a></li></ul></li><li><a href="monitoring.html">Monitoring and Management using JMX</a></li><li><a href="webconsole.html">WebConsole</a></li><li><a href="tuning.html">Tuning</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="../developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="../developers-guide/developer-commands.html">Developer command
 s</a></li><li><a href="../developers-guide/scripting.html">Scripting</a></li><li><a href="../developers-guide/connect.html">Programmatically connect</a></li><li><a href="../developers-guide/branding.html">Branding</a></li><li><a href="../developers-guide/extending.html">Extending</a></li><li><a href="../developers-guide/karaf-maven-plugin.html">Karaf Maven plugin</a></li><li><a href="../developers-guide/custom-distribution.html">Custom distribution</a></li><li><a href="../developers-guide/services.html">OSGi services</a></li><li><a href="../developers-guide/creating-bundles.html">Create OSGi bundle</a></li><li><a href="../developers-guide/blueprint.html">Blueprint</a></li><li><a href="../developers-guide/cdi.html">CDI</a></li><li><a href="../developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="../developers-guide/security-framework.html">Security Framework</a></li><li><a href="../developers-guide/debugging.html">Troubleshooting, Debugging, Profiling</a></li><li><a
  href="../developers-guide/writing-tests.html">Integration testing</a></li><li><a href="../developers-guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="../commands/commands.html">Commands</a></h3>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </td>
+              <td height="100%" width="100%">
+                <div class="wiki-content">
+<h1 id="TransactionJTA">Transaction (JTA)</h1><p>Apache Karaf provides container managed transactions, available as OSGi services.</p><p>As most of the enterprise features, it's an optional feature that you can install with:</p><pre>
+karaf@root()> feature:install transaction
+</pre><p>However, the <tt>transaction</tt> feature is installed (as a transitive dependency) when installing enterprise features<br/>(like <tt>jdbc</tt> or <tt>jms</tt> features for instance).</p><h2 id="ApacheAriesTransactionandObjectWebHOWL">Apache Aries Transaction and ObjectWeb HOWL</h2><p>The <tt>transaction</tt> feature uses Apache Aries and ObjectWeb HOWL. Aapache Aries Transaction "exposes" the transaction<br/>manager as OSGi service. The actual implementation of the transaction manager is ObjectWeb HOWL.</p><p>ObjectWeb HOWL is a logger implementation providing features required by the ObjectWeb JOTM project, with a public API<br/>that is generally usable by any Transaction Manager.<br/>ObjectWeb HOWL uses unformatted binary logs to maximize performance and specifies a journalization API with methods<br/>necessary to support JOTM recovery operations.</p><p>ObjectWeb HOWL is intended to be used for logging of temporary data such as XA transaction events.<br/>It is not a repl
 acement for traditional log kits such as LOG4J and Java SE Logging.</p><p>In Apache Karaf, ObjectWeb HOWL (High-speed ObjectWeb Logger) is used to implement TransactionLog (in Aries Transaction),<br/>providing a very performant transaction manager in an OSGi way.</p><h2 id="Configuration">Configuration</h2><p>The installation of the <tt>transaction</tt> feature installs a new configuration: <tt>org.apache.aries.transaction</tt>.</p><p>You can see the configuration properties using:</p><pre>
+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.0.1
+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
+</pre><ul><li><tt>aries.transaction.recoverable</tt> property is a flag to enable support of recoverable resource or not. A recoverable<p> resource is a transactional object whose state is saved to stable storage if the transaction is committed, and whose<br/> state can be reset to what it was at the beginning of the transaction if the transaction is rolled back.<br/> At commit time, the transaction manager uses the two-phase XA protocol when communicating with the recoverable resource<br/> to ensure transactional integrity when more than one recoverable resource is involved in the transaction being committed.<br/> Transactional databases and message brokers like Apache ActiveMQ are examples of recoverable resources.<br/> A recoverable resource is represented using the javax.transaction.xa.XAResource interface in JTA.<br/> Default is <tt>true</tt>.</p></li><li><tt>aries.transaction.timeout</tt> property is the transaction timeout. If a transaction has a lifetime longer than this tim
 eout<p> a transaction exception is raised and the transaction is rollbacked. Default is <tt>600</tt> (10 minutes).</p></li><li><tt>aries.transaction.howl.logFileDir</tt> property is the directory where the transaction logs (journal) are stored.<p> Default is <tt>KARAF_DATA/txlog</tt>.</p></li><li><tt>aries.transaction.howl.maxLogFiles</tt> property is the maximum number of transaction log files to retain. Combined with the<p> <tt>aries.transaction.howl.maxBlocksPerFile</tt>, it defines the transaction retention.</p><p>You can change the configuration directly using the <tt>config:*</tt> commands, or the Config MBean.</p><p>For instance, to increase the transaction timeout, you can do:</p><pre>
+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.0.1
+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
+</pre></li></ul><div class="warning" style="border: 1px solid #c00;background-color: #fcc;margin: 20px;padding: 0px 6px 0px 6px;"><p>The <tt>transaction</tt> feature defines the configuration in memory by default. It means that changes that you can do will<br/>be lost in case of Apache Karaf restart.<br/>If you want to define your own transaction configuration at startup, you have to create a <tt>etc/org.apache.aries.transaction.cfg</tt><br/>configuration file and set the properties and values in the file. For instance:</p><pre>
+# 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
+</pre></div>
+                </div>
+              </td>
+            </tr>
+          </table>
+        </td>
+        <td id="cell-2-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-3-0">
+          &nbsp;
+        </td>
+        <td id="cell-3-1">
+          &nbsp;
+        </td>
+        <td id="cell-3-2">
+          <div id="footer">
+            <div id="site-footer">
+              &copy; 2008-2011 The Apache Software Foundation
+              <br/>
+              Apache Karaf, Karaf, Apache, the Apache feather logo, and the Apache Karaf project logo are trademarks of The Apache Software Foundation.
+            </div>
+          </div>
+        </td>
+        <td id="cell-3-3">
+          &nbsp;
+        </td>
+        <td id="cell-3-4">
+          &nbsp;
+        </td>
+      </tr>
+      <tr width="100%">
+        <td id="cell-4-0" colspan="2">
+          &nbsp;
+        </td>
+        <td id="cell-4-1">
+          &nbsp;
+        </td>
+        <td id="cell-4-2" colspan="2">
+          &nbsp;
+        </td>
+      </tr>
+    </table>
+  </body>
+</html>
\ No newline at end of file

Modified: karaf/site/production/manual/latest/users-guide/kar.html
URL: http://svn.apache.org/viewvc/karaf/site/production/manual/latest/users-guide/kar.html?rev=1553356&r1=1553355&r2=1553356&view=diff
==============================================================================
--- karaf/site/production/manual/latest/users-guide/kar.html (original)
+++ karaf/site/production/manual/latest/users-guide/kar.html Wed Dec 25 06:31:51 2013
@@ -8,7 +8,7 @@
     <link href="../css/style.css" rel="stylesheet" type="text/css"/>
     <link href="../css/pygmentize.css" rel="stylesheet" type="text/css"/>
     <title>
-      Apache Karaf 3.0.0-SNAPSHOT Guides
+      Apache Karaf 3.0.1-SNAPSHOT Guides
     </title>
   </head>
   <body>
@@ -93,7 +93,7 @@
                   <div id="wrapper-menu-page-top">
                     <div id="wrapper-menu-page-bottom">
                       <div id="menu-page">
-                        <h3 id="Homeindex"><a href="../index.html">Home</a></h3><ul style="list-style: square"><li><a href="../overview.html">Overview</a></li><li><a href="../quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="installation.html">Installing Karaf</a></li><li><a href="directory-structure.html">Directory Structure</a></li><li><a href="start-stop.html">Starting and stopping Karaf</a></li><li><a href="wrapper.html">OS integration</a></li><li><a href="configuration.html">Configuration</a></li><li><a href="using-console.html">Using the console</a></li><li><a href="web-console.html">Web console</a></li><li><a href="remote-console.html">Remote console</a></li><li><a href="web-console.html">Web console</a></li><li><a href="deployer.html">Deployer</a></li><li><a href="child-instances.html">Child instances</a></li><li><a href="security.html">Security</a></li><li><a hre
 f="failover.html">Failover Deployments</a></li><li><a href="logging-system.html">Logging system</a></li><li><a href="provisioning.html">Provisioning</a></li><li><a href="kar.html">KAR archive</a></li><li><a href="jre-tuning.html">JRE tuning</a></li><li><a href="web-applications.html">Web applications</a></li><li><a href="http.html">HTTP service</a></li><li><a href="jmx.html">JMX for monitoring and administration</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="../developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="../developers-guide/connect-console.html">Programmatically connect to the Console</a></li><li><a href="../developers-guide/shell-syntax.html">Shell syntax</a></li><li><a href="../developers-guide/creating-bundles.html">Creating bundles</a></li><li><a href="../developers-guide/debugging.html">Troubleshooting, Debugging and Profiling</a></li><li><a href="../developers-guide/developer-commands.html">Developer Com
 mands</a></li><li><a href="../developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="../developers-guide/extending-console.html">Extending the Console</a></li><li><a href="../developers-guide/branding-console.html">Branding the Console</a></li><li><a href="../developers-guide/karaf-maven-plugin.html">Using the Karaf Maven plugin</a></li><li><a href="../developers-guide/security-framework.html">Security Framework</a></li><li><a href="../developers-guide/custom-distribution.html">Custom Distribution</a></li><li><a href="../developers-guide/debugging.html">Troubleshooting, Debugging and Profiling</a></li><li><a href="../developers-guide/connect-console.html">Programmatically connect to the console</a></li><li><a href="../developers-guide/writing-tests.html">Writing integration tests</a></li><li><a href="../developers-guide/creating-bundles.html">Creating bundles</a></li><li><a href="../developers-guide/shell-syntax.html">Shell syntax</a></li><li><a href="../developers-
 guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="../commands/commands.html">Commands</a></h3>
+                        <h3 id="Homeindex"><a href="../index.html">Home</a></h3><ul style="list-style: square"><li><a href="../overview.html">Overview</a></li><li><a href="../quick-start.html">Quick Start</a></li></ul><h3 id="UsersGuideusersguideindex"><a href="index.html">Users Guide</a></h3><ul style="list-style: square"><li><a href="installation.html">Installation</a></li><li><a href="directory-structure.html">Directory structure</a></li><li><a href="start-stop.html">Start, stop, restart, connect</a></li><li><a href="wrapper.html">Integration in the operating system: the Service Wrapper</a></li><li><a href="console.html">Console</a></li><li><a href="remote.html">Remote</a></li><li><a href="log.html">Log</a></li><li><a href="configuration.html">Configuration</a></li><li><a href="urls.html">Artifacts repositories and URLs</a></li><li><a href="provisioning.html">Provisioning and features</a></li><li><a href="deployers.html">Deployers</a></li><li><a href="kar.html">KAR</a></li><li><a
  href="instances.html">Instances</a></li><li><a href="security.html">Security</a></li><li><a href="obr.html">OBR</a></li><li><a href="enterprise.html">Enterprise</a><ul><li><a href="webcontainer.html">WebContainer (JSP/Servlet)</a></li><li><a href="jndi.html">Naming (JNDI)</a></li><li><a href="jta.html">Transaction (JTA)</a></li><li><a href="jdbc.html">DataSource (JDBC)</a></li><li><a href="jms.html">MOM (JMS)</a></li><li><a href="jpa.html">Persistence (JPA)</a></li><li><a href="ejb.html">EJB</a></li><li><a href="cdi.html">CDI</a></li><li><a href="failover.html">HA/failover and cluster</a></li></ul></li><li><a href="monitoring.html">Monitoring and Management using JMX</a></li><li><a href="webconsole.html">WebConsole</a></li><li><a href="tuning.html">Tuning</a></li></ul><h3 id="DevelopersGuidedevelopersguideindex"><a href="../developers-guide/index.html">Developers Guide</a></h3><ul style="list-style: square"><li><a href="../developers-guide/developer-commands.html">Developer command
 s</a></li><li><a href="../developers-guide/scripting.html">Scripting</a></li><li><a href="../developers-guide/connect.html">Programmatically connect</a></li><li><a href="../developers-guide/branding.html">Branding</a></li><li><a href="../developers-guide/extending.html">Extending</a></li><li><a href="../developers-guide/karaf-maven-plugin.html">Karaf Maven plugin</a></li><li><a href="../developers-guide/custom-distribution.html">Custom distribution</a></li><li><a href="../developers-guide/services.html">OSGi services</a></li><li><a href="../developers-guide/creating-bundles.html">Create OSGi bundle</a></li><li><a href="../developers-guide/blueprint.html">Blueprint</a></li><li><a href="../developers-guide/cdi.html">CDI</a></li><li><a href="../developers-guide/archetypes.html">Maven Archetypes</a></li><li><a href="../developers-guide/security-framework.html">Security Framework</a></li><li><a href="../developers-guide/debugging.html">Troubleshooting, Debugging, Profiling</a></li><li><a
  href="../developers-guide/writing-tests.html">Integration testing</a></li><li><a href="../developers-guide/github-contributions.html">Github Contributions</a></li></ul><h3 id="Commandscommandscommands"><a href="../commands/commands.html">Commands</a></h3>
                       </div>
                     </div>
                   </div>
@@ -101,10 +101,59 @@
               </td>
               <td height="100%" width="100%">
                 <div class="wiki-content">
-<h1 id="KarafArchivesKAR">Karaf Archives (KAR)</h1><p>Karaf provides a specific archive format named the KAR (Karaf ARchive).</p><p>Basically, the kar format is a jar (so a zip file) which contains a set of feature descriptor and bundle jar files.</p><p>For instance, a kar looks like:</p><ul><li>my-features-1.xml</li><li>bundle1.jar</li><li>bundle2.jar</li><li>bundle3.jar</li></ul><p>all packaged in zip format.</p><h2 id="Createakararchivefromtheconsole">Create a kar archive from the console</h2><p>Example:</p><pre>
-feature:repo-add camel 2.10.0
-kar:create camel-2.10.0
-</pre><p>This will create a kar of all camel features and store it in data/kar. It is also possible to specify a list of features to pack into the kar.<br/>This aproach is ideal if you want to use e.g. camel in an environment without internet connection.</p><h2 id="Createakararchiveusingmaven">Create a kar archive using maven</h2><p>You can create a kar file by hand, just by zip compressing a directory representing the kar content.</p><p>You can also use the Karaf maven plugin. The features maven plugin provides an features-create-kar goal.</p><p>The features-create-kar goal:<br/>1. Reads all features specified in the features descriptor.<br/>2. For each feature, it resolves the bundles defined in the feature.<br/>3. All bundles are packaged into the kar archive.</p><p>For instance, you can use the following POM to create a kar:</p><pre>
+<h1 id="KAR">KAR</h1><p>As described in the <a href="provisioning.html">Provisioning section</a>, Apache Karaf features describe applications.</p><p>A feature defines different resources to resolve using URL (for instance, bundles URLs, or configuration files URLs).<br/>As described in the <a href="urls.html">Artifacts repositories and URLs section</a>, Apache Karaf looks for artifacts (bundles,<br/>configuration files, ...) in the artifact repositories.<br/>Apache Karaf may require to download artifacts from remote repositories.</p><p>Apache Karaf provides a special type of artifact that package a features XML and all resources described in the features<br/>of this XML. This artifact is named a KAR (KAraf aRchive).</p><p>A KAR file is a zip archive containing the</p><p>Basically, the kar format is a jar (so a zip file) which contains a set of feature descriptor and bundle jar files.</p><p>A KAR file contains a <tt>repository</tt> folder containing:</p><ul><li>a set of features XML 
 files</li><li>the artifacts following the Maven directory structure (<tt>groupId/artifactId/version/artifactId-version.type</tt>).</li></ul><p>For instance, the <tt>spring-3.0.0.kar</tt> contains:</p><pre>
+~$ 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
+</pre><p>As a KAR file is a simple zip file, you can create the KAR file by hand.</p><p>For instance, the following Unix commands create a very simple KAR file:</p><pre>
+~$ 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%)
+</pre><p>You can create KAR files using Apache Maven, or directly in the Apache Karaf console.</p><h2 id="Maven">Maven</h2><p>Apache Karaf provides a Maven plugin: <tt>karaf-maven-plugin</tt>.</p><p>The Apache Karaf Maven plugin provides the <tt>features-create-kar</tt> goal.</p><p>The <tt>features-create-kar</tt> goal does:<br/>1. Reads all features specified in the features XML.<br/>2. For each feature described in the features XML, the goal resolves the bundles described in the feature.<br/>3. The goal finally packages the features XML, and the resolved bundles in a zip file.</p><p>You can also use the Karaf maven plugin. The features maven plugin provides an features-create-kar goal.</p><p>The features-create-kar goal:<br/>1. Reads all features specified in the features descriptor.<br/>2. For each feature, it resolves the bundles defined in the feature.<br/>3. All bundles are packaged into the kar archive.</p><p>For instance, the following Maven POM create <tt>my-kar.kar</tt></p
 ><p>For instance, you can use the following POM to create a kar:</p><pre>
 &lt;?xml version="1.0" encoding="UTF-8"?>
 &lt;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">
 
@@ -120,7 +169,7 @@ kar:create camel-2.10.0
             &lt;plugin>
                 &lt;groupId>org.apache.karaf.tooling&lt;/groupId>
                 &lt;artifactId>karaf-maven-plugin&lt;/artifactId>
-                &lt;version>3.0.0-SNAPSHOT&lt;/version>
+                &lt;version>3.0.0&lt;/version>
                 &lt;executions>
                     &lt;execution>
                         &lt;id>features-create-kar&lt;/id>
@@ -137,24 +186,64 @@ kar:create camel-2.10.0
     &lt;/build>
 
 &lt;/project>
-</pre><p>For the example, the features descriptor is very simple:</p><pre>
-&lt;?xml version="1.0" encoding="UTF-8"?>
-&lt;features>
+</pre><p>To create the KAR file, simply type:</p><pre>
+~$ mvn install
+</pre><p>Uou will have your kar in the <tt>target</tt> directory.</p><h2 id="Commands">Commands</h2><p>Apache Karaf provides <tt>kar:*</tt> commands to manage KAR archives.</p><h3 id="karlist"><tt>kar:list</tt></h3><p>The <tt>kar:list</tt> command lists the installed KAR archives.</p><pre>
+karaf@root()> kar:list
+KAR Name
+-------------------
+my-kar-1.0-SNAPSHOT
+</pre><p>A KAR is identified by its name.</p><h3 id="karcreate"><tt>kar:create</tt></h3><p>Instead of using the <tt>karaf-maven-plugin</tt> or create the KAR archive by hand, you can use the <tt>kar:create</tt> command.</p><p>The <tt>kar:create</tt> command creates a KAR file using a registered features repository.</p><p>For instance, you want to create a KAR file for the Pax Web repository.</p><p>The <tt>feature:repo-list</tt> command gives you the list of registered features repositories:</p><pre>
+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
+</pre><p>You can use one of these features repositories to create the kar file:</p><pre>
+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
+</pre><p>You can see that the KAR file has been created in the <tt>KARAF_DATA/kar</tt> folder.</p><p>By default, the <tt>kar:create</tt> command creates a KAR file, packaging all features in the features descriptor.</p><p>You can provide the list of features that you want to package into the KAR file:</p><pre>
+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
+</pre><h3 id="karinstall"><tt>kar:install</tt></h3><p>You can deploy a KAR file using <tt>kar:install</tt> command.</p><p>The <tt>kar:install</tt> command expects the KAR URL. Any URL described in the <a href="urls.html">Artifacts repositories and URLs section</a><br/>is supported by the <tt>kar:install</tt> command:</p><pre>
+karaf@root()> kar:install file:/tmp/my-kar-1.0-SNAPSHOT.kar
+</pre><p>The KAR file is uncompressed and populated the <tt>KARAF_BASE/system</tt> folder.</p><p>The Apache Karaf KAR service is looking for features XML files in the KAR file, registers the features XML and automatically<br/>installs all features described in the features repositories present in the KAR file.</p><h3 id="karuninstall"><tt>kar:uninstall</tt></h3><p>The <tt>kar:uninstall</tt> command uninstall a KAR file (identified by a name).</p><p>By uninstall, it means that:</p><ul><li>the features previously installed by the KAR file are uninstalled</li><li>delete (from the <tt>KARAF_DATA/system</tt> repository) all files previously "populated" by the KAR file</li></ul><p>For instance, to uninstall the previously installed <tt>my-kar-1.0-SNAPSHOT.kar</tt> KAR file:</p><pre>
+karaf@root()> kar:uninstall my-kar-1.0-SNAPSHOT
+</pre><h2 id="Deployer">Deployer</h2><p>Apache Karaf also provides a KAR deployer. It means that you can drop a KAR file directly in the <tt>deploy</tt> folder.</p><p>Apache Karaf will automatically install KAR files from the <tt>deploy</tt> folder.</p><p>You can change the behaviours of the KAR deployer in the <tt>etc/org.apache.karaf.kar.cfg</tt>:</p><pre>
+################################################################################
+#
+#    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.
+#
+################################################################################
 
-   &lt;feature name="my" version="1.0">
-      &lt;bundle>mvn:commons-collections/commons-collections/3.2.1&lt;/bundle>
-   &lt;/feature>
-
-&lt;/features>
-</pre><p>To create the kar archive, simply type:</p><pre>
-mvn install
-</pre><p>and you will have your kar in the <tt>target</tt> directory.</p><h2 id="Deployakararchive">Deploy a kar archive</h2><p>Karaf provides a KAR deployer:</p><pre>
-karaf@root> la|grep -i archive
-[  12] [Active     ] [Created     ] [   30] Apache Karaf :: Deployer :: Karaf Archive (.kar) (3.0.0.SNAPSHOT)
-</pre><p>It's a core deployer (you don't need to install additional features).</p><p>To deploy a kar, simply drop the kar into the deploy directory. The KAR Deployer will deploy all the kar content starting<br/>from the features descriptor.</p><p>The KAR Deployer uncompress KAR archives in the system repository, automatically register features descriptors contained<br/>in the KAR, and automatically installs all features:</p><pre>
-karaf@root> feature:list|grep -i my
-[  installed] [1.0             ] my                            repo-0
-</pre><h2 id="Karstructure">Kar structure</h2>
+#
+# Enable or disable the refresh of the bundles when installing
+# the features contained in a KAR file
+#
+noAutoRefreshBundles=false
+</pre><p>By default, when the KAR deployer install features, by default, it refresh the bundles already installed.<br/>You can disable the automatic bundles refresh by setting the <tt>noAutoRefreshBundles</tt> property to <tt>false</tt>.</p><h2 id="JMXKarMBean">JMX KarMBean</h2><p>On the JMX layer, you have a MBean dedicated to the management of the KAR files.</p><p>The ObjectName to use is <tt>org.apache.karaf:type=kar,name=*</tt>.</p><h3 id="Attributes">Attributes</h3><p>The <tt>Kars</tt> attributes provides the list of KAR files (name) installed.</p><h3 id="Operations">Operations</h3><ul><li><tt>install(url)</tt> installs the KAR file at the given <tt>url</tt>.</li><li><tt>create(repository, features)</tt> creates a KAR file using the given features <tt>repository</tt> name, and optionally the<p>list of <tt>features</tt> to include in the KAR file.</p></li><li><tt>uninstall(name)</tt> uninstalls a KAR file with the given <tt>name</tt>.</li></ul>
                 </div>
               </td>
             </tr>