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">
+
+ </td>
+ <td id="cell-0-1">
+
+ </td>
+ <td id="cell-0-2" colspan="2">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-1-0">
+
+ </td>
+ <td id="cell-1-1">
+
+ </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>
+|
+<a href="index.html" title="Users Guide">Users Guide</a>
+|
+<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">
+
+ </td>
+ <td id="cell-1-4">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-2-0" colspan="2">
+
+ </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/<interface>[/<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">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-3-0">
+
+ </td>
+ <td id="cell-3-1">
+
+ </td>
+ <td id="cell-3-2">
+ <div id="footer">
+ <div id="site-footer">
+ © 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">
+
+ </td>
+ <td id="cell-3-4">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-4-0" colspan="2">
+
+ </td>
+ <td id="cell-4-1">
+
+ </td>
+ <td id="cell-4-2" colspan="2">
+
+ </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">
+
+ </td>
+ <td id="cell-0-1">
+
+ </td>
+ <td id="cell-0-2" colspan="2">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-1-0">
+
+ </td>
+ <td id="cell-1-1">
+
+ </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>
+|
+<a href="index.html" title="Users Guide">Users Guide</a>
+|
+<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">
+
+ </td>
+ <td id="cell-1-4">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-2-0" colspan="2">
+
+ </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">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-3-0">
+
+ </td>
+ <td id="cell-3-1">
+
+ </td>
+ <td id="cell-3-2">
+ <div id="footer">
+ <div id="site-footer">
+ © 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">
+
+ </td>
+ <td id="cell-3-4">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-4-0" colspan="2">
+
+ </td>
+ <td id="cell-4-1">
+
+ </td>
+ <td id="cell-4-2" colspan="2">
+
+ </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">
+
+ </td>
+ <td id="cell-0-1">
+
+ </td>
+ <td id="cell-0-2" colspan="2">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-1-0">
+
+ </td>
+ <td id="cell-1-1">
+
+ </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>
+|
+<a href="index.html" title="Users Guide">Users Guide</a>
+|
+<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">
+
+ </td>
+ <td id="cell-1-4">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-2-0" colspan="2">
+
+ </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">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-3-0">
+
+ </td>
+ <td id="cell-3-1">
+
+ </td>
+ <td id="cell-3-2">
+ <div id="footer">
+ <div id="site-footer">
+ © 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">
+
+ </td>
+ <td id="cell-3-4">
+
+ </td>
+ </tr>
+ <tr width="100%">
+ <td id="cell-4-0" colspan="2">
+
+ </td>
+ <td id="cell-4-1">
+
+ </td>
+ <td id="cell-4-2" colspan="2">
+
+ </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>
<?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">
@@ -120,7 +169,7 @@ kar:create camel-2.10.0
<plugin>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>karaf-maven-plugin</artifactId>
- <version>3.0.0-SNAPSHOT</version>
+ <version>3.0.0</version>
<executions>
<execution>
<id>features-create-kar</id>
@@ -137,24 +186,64 @@ kar:create camel-2.10.0
</build>
</project>
-</pre><p>For the example, the features descriptor is very simple:</p><pre>
-<?xml version="1.0" encoding="UTF-8"?>
-<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.
+#
+################################################################################
- <feature name="my" version="1.0">
- <bundle>mvn:commons-collections/commons-collections/3.2.1</bundle>
- </feature>
-
-</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>