aries-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r945695 - in /websites/staging/aries/trunk/content: ./ modules/subsystems.html
Date Mon, 30 Mar 2015 16:59:49 GMT
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 &lt;url&gt;</code> - Install and resolve
a subsystem.</li>
+<li><code>subsystem:list &lt;subsystemId&gt;</code> - List installed
subsystems.</li>
+<li><code>subsystem:start &lt;subsystemId&gt;</code> - Start a
subsystem and its dependencies.</li>
+<li><code>subsystem:stop &lt;subsystemId&gt;</code> - Stop a subsystem
and its dependencies.</li>
+<li><code>subsystem:uninstall &lt;subsystemId&gt;</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 -->



Mime
View raw message