Author: buildbot
Date: Mon Mar 30 16:59:49 2015
New Revision: 945695
Log:
Staging update by buildbot for aries
Modified:
websites/staging/aries/trunk/content/ (props changed)
websites/staging/aries/trunk/content/modules/subsystems.html
Propchange: websites/staging/aries/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Mon Mar 30 16:59:49 2015
@@ -1 +1 @@
-1670122
+1670145
Modified: websites/staging/aries/trunk/content/modules/subsystems.html
==============================================================================
--- websites/staging/aries/trunk/content/modules/subsystems.html (original)
+++ websites/staging/aries/trunk/content/modules/subsystems.html Mon Mar 30
16:59:49 2015
@@ -290,7 +290,8 @@ dependencies are the Aries Util bundle,
<p>The following are downloadable links (from Maven central) that
provide all the required components to get subsystems up and running with
Apache
Felix. Note that the Felix distribution comes with and OSGi Repository
implementation
-so this does not need to be added.</p>
+so this does not need to be added. (When running Aries Subsystems with another
OSGi Framework an OSGi Repository
+may need to be added.)</p>
<ul>
<li><a
href="http://repo1.maven.org/maven2/org/apache/aries/subsystem/org.apache.aries.subsystem.api/1.1.0/org.apache.aries.subsystem.api-1.1.0.jar">org.apache.aries.subsystem.api</a></li>
<li><a
href="http://repo1.maven.org/maven2/org/apache/aries/subsystem/org.apache.aries.subsystem.core/1.2.0/org.apache.aries.subsystem.core-1.2.0.jar">org.apache.aries.subsystem.core</a></li>
@@ -325,7 +326,7 @@ so this does not need to be added.</p>
<p>The slf4j-simple bundle is a fragment, so it can not be started.
-You can see that the Subsystems implementation operational as it created a
synthesized
+You can see that the Subsystems implementation is operational as it created a
synthesized
bundle (14) to represent the root context. The subsystems implementation
sometimes
synthesizes a bundle to represent a subsystem. Whether or not this happens
depends on
the isolation model of a subsystem.</p>
@@ -347,12 +348,73 @@ by looking at the services registered by
<p>Each installed subsystem is represented by a serparate service.</p>
<h2 id="tools">Tools</h2>
+<p>The Apache Aries community provides a number of tools that facilitate
working with OSGi Subsystems:</p>
<ul>
-<li>Aries Gogo Command</li>
-<li>esa-ant-task</li>
-<li>eas-maven-plugin
-TODO elaborate</li>
+<li>Subsystem Gogo Command - a Gogo command to work with subsystems, for more
info see below.</li>
+<li><a href="http://aries.apache.org/modules/esaanttask.html">esa-ant-task</a>
- an Ant task to create .esa archives.</li>
+<li><a
href="http://aries.apache.org/modules/esamavenpluginproject.html">eas-maven-plugin</a>
- a Maven plugin to create .esa archives.</li>
</ul>
+<h3 id="subsystem-gogo-command">Subsystem Gogo Command</h3>
+<p><a
href="https://svn.apache.org/repos/asf/aries/trunk/subsystem/subsystem-gogo-command">https://svn.apache.org/repos/asf/aries/trunk/subsystem/subsystem-gogo-command</a>
contains a simple bundle with a Gogo command
+to control subsystems.</p>
+<p>After installing the gogo command bundle you can execute subsystem
commands, for example:</p>
+<div class="codehilite"><pre><span class="n">g</span>! <span
class="n">subsystem</span><span class="p">:</span><span class="n">list</span>
+0 <span class="n">ACTIVE</span> <span class="n">org</span><span
class="p">.</span><span class="n">osgi</span><span class="p">.</span><span
class="n">service</span><span class="p">.</span><span
class="n">subsystem</span><span class="p">.</span><span class="n">root</span>
1<span class="p">.</span>0<span class="p">.</span>0
+</pre></div>
+
+
+<p>Use <code>subsystem:install</code> to install additional subsystems, for
example one that is part of the <code>subsystem-itests</code> module:</p>
+<div class="codehilite"><pre><span class="n">g</span>! <span
class="n">subsystem</span><span class="p">:</span><span
class="n">install</span> <span class="n">file</span><span
class="p">:</span><span class="o">/</span><span class="n">checkouts</span><span
class="o">/</span><span class="n">aries</span><span class="o">/</span><span
class="n">subsystem</span><span class="o">/</span><span
class="n">subsystem</span><span class="o">-</span><span
class="n">itests</span><span class="o">/</span><span
class="n">target</span><span class="o">/</span><span
class="n">feature1</span><span class="p">.</span><span class="n">esa</span>
+<span class="p">...</span>
+<span class="n">Subsystem</span> <span class="n">successfully</span> <span
class="n">installed</span><span class="p">:</span> <span
class="n">org</span><span class="p">.</span><span class="n">apache</span><span
class="p">.</span><span class="n">aries</span><span class="p">.</span><span
class="n">subsystem</span><span class="p">.</span><span
class="n">feature1</span><span class="p">;</span> <span
class="n">id</span><span class="p">:</span> 1
+</pre></div>
+
+
+<p>This subsystem embeds another subsystem which automatically gets installed
too. When you list all subsystems you can see both:</p>
+<div class="codehilite"><pre><span class="n">g</span>! <span
class="n">subsystem</span><span class="p">:</span><span class="n">list</span>
+0 <span class="n">ACTIVE</span> <span class="n">org</span><span
class="p">.</span><span class="n">osgi</span><span class="p">.</span><span
class="n">service</span><span class="p">.</span><span
class="n">subsystem</span><span class="p">.</span><span class="n">root</span>
1<span class="p">.</span>0<span class="p">.</span>0
+1 <span class="n">INSTALLED</span> <span class="n">org</span><span
class="p">.</span><span class="n">apache</span><span class="p">.</span><span
class="n">aries</span><span class="p">.</span><span
class="n">subsystem</span><span class="p">.</span><span
class="n">feature1</span> 1<span class="p">.</span>0<span class="p">.</span>0
+2 <span class="n">INSTALLED</span> <span class="n">org</span><span
class="p">.</span><span class="n">apache</span><span class="p">.</span><span
class="n">aries</span><span class="p">.</span><span
class="n">subsystem</span><span class="p">.</span><span
class="n">feature2</span> 1<span class="p">.</span>0<span class="p">.</span>0
+</pre></div>
+
+
+<p>Together, these subsystems contain 3 bundles:</p>
+<div class="codehilite"><pre><span class="n">g</span>! <span
class="n">lb</span>
+<span class="n">START</span> <span class="n">LEVEL</span> 1
+ <span class="n">ID</span><span class="o">|</span><span
class="n">State</span> <span class="o">|</span><span
class="n">Level</span><span class="o">|</span><span class="n">Name</span>
+ 0<span class="o">|</span><span class="n">Active</span> <span
class="o">|</span> 0<span class="o">|</span><span class="n">System</span>
<span class="n">Bundle</span> <span class="p">(</span>4<span
class="p">.</span>6<span class="p">.</span>1<span class="p">)</span>
+ <span class="p">...</span>
+ 16<span class="o">|</span><span class="n">Installed</span> <span
class="o">|</span> 1<span class="o">|</span><span class="n">TB3</span> <span
class="p">(</span>1<span class="p">.</span>0<span class="p">.</span>0<span
class="p">)</span>
+ 17<span class="o">|</span><span class="n">Installed</span> <span
class="o">|</span> 1<span class="o">|</span><span class="n">TB1</span> <span
class="p">(</span>1<span class="p">.</span>0<span class="p">.</span>0<span
class="p">)</span>
+ 18<span class="o">|</span><span class="n">Installed</span> <span
class="o">|</span> 1<span class="o">|</span><span class="n">TB2</span> <span
class="p">(</span>2<span class="p">.</span>0<span class="p">.</span>0<span
class="p">)</span>
+</pre></div>
+
+
+<p>Use <code>subsystem:start</code> to start a subsystem. This will start all
its bundles and all the bundles of dependent subsystems. So the
+following single command, starts 3 bundles:</p>
+<div class="codehilite"><pre><span class="n">g</span>! <span
class="n">subsystem</span><span class="p">:</span><span class="n">start</span> 1
+<span class="n">g</span>! <span class="n">lb</span>
+<span class="n">START</span> <span class="n">LEVEL</span> 1
+ <span class="n">ID</span><span class="o">|</span><span
class="n">State</span> <span class="o">|</span><span
class="n">Level</span><span class="o">|</span><span class="n">Name</span>
+ 0<span class="o">|</span><span class="n">Active</span> <span
class="o">|</span> 0<span class="o">|</span><span class="n">System</span>
<span class="n">Bundle</span> <span class="p">(</span>4<span
class="p">.</span>6<span class="p">.</span>1<span class="p">)</span>
+ <span class="p">...</span>
+ 16<span class="o">|</span><span class="n">Active</span> <span
class="o">|</span> 1<span class="o">|</span><span class="n">TB3</span> <span
class="p">(</span>1<span class="p">.</span>0<span class="p">.</span>0<span
class="p">)</span>
+ 17<span class="o">|</span><span class="n">Active</span> <span
class="o">|</span> 1<span class="o">|</span><span class="n">TB1</span> <span
class="p">(</span>1<span class="p">.</span>0<span class="p">.</span>0<span
class="p">)</span>
+ 18<span class="o">|</span><span class="n">Active</span> <span
class="o">|</span> 1<span class="o">|</span><span class="n">TB2</span> <span
class="p">(</span>2<span class="p">.</span>0<span class="p">.</span>0<span
class="p">)</span>
+</pre></div>
+
+
+<h3 id="subsystem-gogo-commands">Subsystem gogo commands</h3>
+<p>The following commands are available from the subsystem-gogo-command
bundle:</p>
+<ul>
+<li><code>subsystem:install <url></code> - Install and resolve a
subsystem.</li>
+<li><code>subsystem:list <subsystemId></code> - List installed
subsystems.</li>
+<li><code>subsystem:start <subsystemId></code> - Start a subsystem and
its dependencies.</li>
+<li><code>subsystem:stop <subsystemId></code> - Stop a subsystem and its
dependencies.</li>
+<li><code>subsystem:uninstall <subsystemId></code> - Uninstall a
subsystem and its dependencies. </li>
+</ul>
+<p>Note that, following the OSGi Subsystem specification, dependent subsystems
are only stopped and uninstalled when the last using subsystem
+is stopped/uninstalled.</p>
<h2 id="development">Development</h2>
<p>The Aries Subsystems code base can be found at the following location: <a
href="https://svn.apache.org/repos/asf/aries/trunk/subsystem">https://svn.apache.org/repos/asf/aries/trunk/subsystem</a></p></div>
<!-- Content -->