[jboss-cvs] JBossAS SVN: r94764 - in projects/jboss-osgi/trunk/distribution: docbook/en/modules and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 13 07:22:09 EDT 2009
Author: thomas.diesler at jboss.com
Date: 2009-10-13 07:22:08 -0400 (Tue, 13 Oct 2009)
New Revision: 94764
Modified:
projects/jboss-osgi/trunk/distribution/docbook/en/images/jbossas-integration-future.png
projects/jboss-osgi/trunk/distribution/docbook/en/images/jbossas-integration.png
projects/jboss-osgi/trunk/distribution/docbook/en/images/jbossosgi-runtime.png
projects/jboss-osgi/trunk/distribution/docbook/en/images/webconsole.png
projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch030-runtime.xml
projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch040-framework-integration.xml
projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch050-developer-guide.xml
projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch070-provided-bundles.xml
projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch080-provided-examples.xml
projects/jboss-osgi/trunk/distribution/docbook/src/main/graphics/jbossosgi-runtime.odp
projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
Log:
More work on userguide
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/images/jbossas-integration-future.png
===================================================================
(Binary files differ)
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/images/jbossas-integration.png
===================================================================
(Binary files differ)
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/images/jbossosgi-runtime.png
===================================================================
(Binary files differ)
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/images/webconsole.png
===================================================================
(Binary files differ)
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch030-runtime.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch030-runtime.xml 2009-10-13 09:46:29 UTC (rev 94763)
+++ projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch030-runtime.xml 2009-10-13 11:22:08 UTC (rev 94764)
@@ -24,7 +24,7 @@
<para>The JBoss OSGi Runtime has an integration layer for the underlying OSGi frameworks. It comes with a choice of
<link linkend="SecIntegrationFelix">Apache Felix</link>, <link linkend="SecIntegrationEquinox">Eclipse Equinox</link> or
- <link linkend="SecIntegrationKnopflerfish">MakeWave Knopflerfish</link>.</para>
+ <link linkend="SecIntegrationJBossMC">JBoss Microcontainer</link>.</para>
<para>Through local and remote management capabilities the JBoss OSGi Runtime can be provisioned with new or updated bundles.
Similar to <ulink url="http://http://jboss.org/jbossas">JBossAS</ulink> it supports hot-deployment by dropping bundles
@@ -32,7 +32,7 @@
<para>Integration of the <ulink url="http://www.jboss.org/jbossmc">JBoss Microcontainer</ulink> as an OSGi service allows you
to write your applications in a POJO programming model without much "pollution" of OSGi specific API - the MC will do the
- wiring for you. JBoss OSGi now also comes with an early alpha implementation of
+ wiring for you. JBoss OSGi also comes with an implementation of
<ulink url="http://jbossosgi.blogspot.com/2009/04/osgi-blueprint-service-rfc-124.html">Blueprint Service (RFC-124)</ulink>,
which standardizes this idea and takes it further.</para>
@@ -68,7 +68,7 @@
<listitem><emphasis role="bold">Multiple OSGi Frameworks</emphasis> -
The Installer can setup the JBoss OSGi Runtime using <link linkend="SecIntegrationFelix">Felix</link>,
- <link linkend="SecIntegrationEquinox">Equinox</link> or <link linkend="SecIntegrationKnopflerfish">Knopflerfish</link>.
+ <link linkend="SecIntegrationEquinox">Equinox</link> or <link linkend="SecIntegrationJBossMC">JBossMC</link>.
</listitem>
<listitem><emphasis role="bold">Local and Remote JMX Support</emphasis> -
@@ -89,8 +89,8 @@
There is a bundle that provides JAXB support.
</listitem>
- <listitem><emphasis role="bold">HttpService Support</emphasis> -
- HttpService support is provided by a customized version of the <ulink url="http://felix.apache.org/site/apache-felix-web-console.html">Apache Felix Web Console</ulink>.
+ <listitem><emphasis role="bold">HttpService and WebApp Support</emphasis> -
+ HttpService and WebApp support is provided by <ulink url="http://wiki.ops4j.org/display/paxweb/Pax+Web">Pax Web</ulink>.
</listitem>
<listitem><emphasis role="bold">ConfigAdmin Support</emphasis> -
@@ -102,8 +102,7 @@
</listitem>
<listitem><emphasis role="bold">Logging System</emphasis> -
- The logging bridge writes OSGi LogEntries to the configured logging framework (e.g. Log4J). A local OSGi Runtime can receive LogEntries
- from a remote instance.
+ The logging bridge writes OSGi LogEntries to the configured logging framework (e.g. Log4J).
</listitem>
<listitem><emphasis role="bold">Microcontainer Support</emphasis> -
@@ -144,16 +143,15 @@
=========================================================================
- 10:33:13,758 INFO [FelixIntegration] OSGi Integration Felix - 1.0.0.Beta4
- 10:33:14,185 INFO [FelixIntegration] Installed bundle [1]: org.osgi.compendium
- 10:33:14,194 INFO [FelixIntegration] Installed bundle [2]: org.apache.felix.log
- 10:33:14,203 INFO [FelixIntegration] Installed bundle [3]: jboss-osgi-common
- 10:33:14,212 INFO [FelixIntegration] Installed bundle [4]: jboss-osgi-hotdeploy
- 10:33:14,247 INFO [FelixIntegration] Started bundle: org.apache.felix.log
- 10:33:14,315 INFO [FelixIntegration] Started bundle: jboss-osgi-common
- 10:33:14,357 INFO [jboss-osgi-hotdeploy] Start DeploymentScanner: [scandir=.../server/minimal/deploy,interval=2000ms]
- 10:33:14,401 INFO [FelixIntegration] Started bundle: jboss-osgi-hotdeploy
- <emphasis role="bold">10:33:14,403 INFO [OSGiBootstrap] JBossOSGi Runtime booted in 0.644sec</emphasis>
+ 12:10:48,713 INFO [OSGiBundleManager] JBossOSGi Framework - 1.0.0.Alpha1
+ 12:10:49,089 INFO [FrameworkEventsPluginImpl] Bundle INSTALLED: Bundle{osgi.cmpn:4.2.0.200908310645}
+ 12:10:49,188 INFO [FrameworkEventsPluginImpl] Bundle INSTALLED: Bundle{org.apache.felix.log:1.0.0}
+ 12:10:49,282 INFO [FrameworkEventsPluginImpl] Bundle INSTALLED: Bundle{jboss-osgi-common:1.0.2}
+ 12:10:49,313 INFO [FrameworkEventsPluginImpl] Bundle INSTALLED: Bundle{jboss-osgi-hotdeploy:1.0.2}
+ 12:10:50,042 INFO [jboss-osgi-hotdeploy] Start DeploymentScanner: [scandir=.../server/minimal/deploy,interval=2000ms]
+ 12:10:50,047 INFO [FrameworkEventsPluginImpl] Bundle STARTED: Bundle{jboss-osgi-hotdeploy:1.0.2}
+ 12:10:50,050 INFO [FrameworkEventsPluginImpl] Bundle STARTED: Bundle{system.bundle:0.0.0}
+ <emphasis role="bold">12:10:50,076 INFO [OSGiBootstrap] JBossOSGi Runtime booted in 1.357sec</emphasis>
</programlisting>
<emphasis role="bold">Minimal Profile</emphasis>
@@ -189,7 +187,8 @@
<itemizedlist>
<listitem><emphasis role="bold">org.apache.felix.configadmin.jar</emphasis> - Apache ConfigAdmin service</listitem>
- <listitem><emphasis role="bold">org.apache.felix.http.jetty.jar</emphasis> - Apache HttpService</listitem>
+ <listitem><emphasis role="bold">pax-web-jetty-bundle.jar</emphasis> - Pax Web HttpService</listitem>
+ <listitem><emphasis role="bold">pax-web-extender-war.jar</emphasis> - Pax Web WebApp Extender</listitem>
<listitem><emphasis role="bold">jboss-osgi-webconsole.jar</emphasis> - JBoss OSGi Web Console</listitem>
</itemizedlist>
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch040-framework-integration.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch040-framework-integration.xml 2009-10-13 09:46:29 UTC (rev 94763)
+++ projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch040-framework-integration.xml 2009-10-13 11:22:08 UTC (rev 94764)
@@ -5,6 +5,35 @@
<title>Framework Integration</title>
+ <sect1 xml:id="SecIntegrationJBossMC">
+ <title>JBossMC Framework Integration</title>
+
+ <para>Starting from 1.0.0.Beta4 JBoss OSGi provides integration for our native <ulink url="http://www.jboss.org/jbossmc/">Microcontainer based</ulink>
+ OSGi Framework. When deployed in JBossAS this Framework will eventually allow us to integrate with components from other programming models.
+ (i.e. OSGi services can access MC beans, EJB3 can access OSGi services, etc.)</para>
+
+ <para>JBossMC integration can be configured through an XML beans configuration in the <link linkend="ChapRuntime">JBoss OSGi Runtime</link>.</para>
+
+ <programlisting role="XML"><![CDATA[
+ cat server/default/conf/jboss-osgi-bootstrap.xml
+
+ <deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- The OSGiFramework -->
+ <bean name="OSGiBundleManager" class="org.jboss.osgi.framework.bundle.OSGiBundleManager">
+ <property name="properties">
+ ...
+ </property>
+ </bean>
+ ...
+ </deployment>
+ ]]></programlisting>
+
+ <para>In the <ulink url="http://www.jboss.org/jbossas">JBossAS</ulink> integration we also use
+ <ulink url="http://www.jboss.org/jbossmc">JBoss Microcontainer</ulink> beans configuration.</para>
+
+ </sect1>
+
<sect1 xml:id="SecIntegrationFelix">
<title>Apache Felix Integration</title>
@@ -13,7 +42,6 @@
<itemizedlist>
<listitem><ulink url="http://felix.apache.org/site/apache-felix-log-service.html">Log Service</ulink> - General purpose message logger</listitem>
- <listitem><ulink url="http://felix.apache.org/site/apache-felix-http-service.html">HTTP Service</ulink> - Http access to servlets and resources</listitem>
<listitem><ulink url="http://felix.apache.org/site/apache-felix-configuration-admin-service.html">Config Admin Service</ulink> - Management of configuration data for configurable components</listitem>
</itemizedlist>
@@ -23,9 +51,6 @@
<programlisting>
cat conf/jboss-osgi-framework.properties
- # The OSGiFramework implementation
- org.jboss.osgi.spi.framework.impl=org.jboss.osgi.felix.framework.FelixIntegration
-
# Properties to configure the Framework
org.osgi.framework.storage=${osgi.server.home}/data/osgi-store
org.osgi.framework.storage.clean=onFirstInit
@@ -55,7 +80,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
<!-- The OSGiFramework -->
- <bean name="jboss.osgi:service=Framework" class="org.jboss.osgi.felix.framework.FelixIntegration">
+ <bean name="jboss.osgi:service=Framework" class="org.jboss.osgi.felix.FelixIntegration">
<property name="properties">
...
</property>
@@ -116,9 +141,6 @@
<programlisting role="XML"><![CDATA[
cat conf/jboss-osgi-framework.properties
- # The OSGiFramework implementation
- org.jboss.osgi.spi.framework.impl=org.jboss.osgi.equinox.framework.EquinoxIntegration
-
# Properties to configure the Framework
org.osgi.framework.storage=${osgi.server.home}/data/osgi-store
org.osgi.framework.storage.clean=onFirstInit
@@ -146,7 +168,7 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
<!-- The OSGiFramework -->
- <bean name="jboss.osgi:service=Framework" class="org.jboss.osgi.equinox.framework.EquinoxIntegration">
+ <bean name="jboss.osgi:service=Framework" class="org.jboss.osgi.equinox.EquinoxIntegration">
<property name="properties">
...
</property>
@@ -162,60 +184,4 @@
</sect1>
- <sect1 xml:id="SecIntegrationKnopflerfish">
- <title>Knopflerfish Integration</title>
-
- <para>JBoss OSGi provides basic integration for the <ulink url="http://www.knopflerfish.org">Makewave Knopflerfish</ulink> OSGi Framework.</para>
-
- <para>Knopflerfish integration can be configured through properties in the <link linkend="ChapRuntime">JBoss OSGi Runtime</link>.</para>
-
- <programlisting role="XML"><![CDATA[
- cat conf/jboss-osgi-framework.properties
-
- # The OSGiFramework implementation
- org.jboss.osgi.spi.framework.impl=org.jboss.osgi.knopflerfish.framework.KnopflerfishIntegration
-
- # Properties to configure the Framework
- org.osgi.framework.storage=${osgi.server.home}/data/osgi-store
- org.osgi.framework.storage.clean=onFirstInit
-
- # Hot Deployement
- org.jboss.osgi.hotdeploy.scandir=${osgi.server.home}/bundles
-
- ...
-
- # Bundles that need to be installed with the Framework automatically
- org.jboss.osgi.spi.framework.autoInstall=\
- file://${osgi.home}/server/minimal/bundles/org.osgi.compendium.jar
-
- # Bundles that need to be started automatically
- org.jboss.osgi.spi.framework.autoStart=\
- file://${osgi.home}/server/minimal/bundles/org.apache.felix.log.jar \
- file://${osgi.home}/server/minimal/bundles/jboss-osgi-common.jar \
- file://${osgi.home}/server/minimal/bundles/jboss-osgi-hotdeploy.jar
- ]]></programlisting>
-
- <para>In the <ulink url="http://www.jboss.org/jbossas">JBossAS</ulink> integration we use
- <ulink url="http://www.jboss.org/jbossmc">JBoss Microcontainer</ulink> beans configuration.</para>
-
- <programlisting role="XML"><![CDATA[
- <deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!-- The OSGiFramework -->
- <bean name="jboss.osgi:service=Framework" class="org.jboss.osgi.knopflerfish.KnopflerfishIntegration">
- <property name="properties">
- ...
- </property>
- <property name="autoStart">
- <list elementClass="java.net.URL">
- ...
- </list>
- </property>
- </bean>
- ...
- </deployment>
- ]]></programlisting>
-
- </sect1>
-
</chapter>
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch050-developer-guide.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch050-developer-guide.xml 2009-10-13 09:46:29 UTC (rev 94763)
+++ projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch050-developer-guide.xml 2009-10-13 11:22:08 UTC (rev 94764)
@@ -87,93 +87,6 @@
</tip>
</sect1>
- <sect1 xml:id="SecDeployers">
- <title>Bundle Deployers</title>
-
- <para>JBoss OSGi comes with a number of <ulink url="http://www.jboss.org/jbossmc">JBoss Microcontainer</ulink> based deployers. Each deployer
- takes care of a specific aspect of bundle deployment.</para>
-
- <itemizedlist>
- <listitem><emphasis role="bold">BundleClassLoaderDeployer</emphasis> - Creates a BundleClassLoader for the deployed Bundle</listitem>
- <listitem><emphasis role="bold">BundleContainedBeansDeployer</emphasis> - Deploy the bundle contained MC beans onto the Kernel</listitem>
- <listitem><emphasis role="bold">BundleManagementDeployer</emphasis> - Register the Bundle as MBean with JMX</listitem>
- <listitem><emphasis role="bold">BundleMetaDataDeployer</emphasis> - Create BundleMetaData from Manifest Headers</listitem>
- <listitem><emphasis role="bold">BundleRealDeployer</emphasis> - Installs the Bundle into the Framework's SystemContext</listitem>
- <listitem><emphasis role="bold">BundleStartLevelDeployer</emphasis> - Sets the bundle's start level on the StartLevel service</listitem>
- <listitem><emphasis role="bold">BundleStartStopDeployer</emphasis> - Starts the Bundle when dependencies are resolved</listitem>
- <listitem><emphasis role="bold">BundleStructureDeployer</emphasis> - Determine the structure of a Bundle deployment</listitem>
- </itemizedlist>
-
- <emphasis role="bold">BundleClassLoaderDeployer</emphasis>
-
- <para>The BundleClassLoaderDeployer attaches a ClassLoaderFactory that creates a BundleClassLoader for the deployed Bundle.
- A BundleClassLoader delegates all classloading concerns to the underlying Bundle.</para>
-
- <emphasis role="bold">BundleContainedBeansDeployer</emphasis>
-
- <para>The BundleContainedBeansDeployer is a ComponentDeployer that deployes the MC bean components onto
- the Kernel.</para>
-
- <emphasis role="bold">BundleManagementDeployer</emphasis>
-
- <para>The BundleManagementDeployer registers the Bundle as <ulink url="http://java.sun.com/j2se/1.5.0/docs/api/javax/management/StandardMBean.html">StandardMBean</ulink> with JMX.
- Please see the section on <link linkend="SecJMXView">Management View</link> for details.</para>
-
- <emphasis role="bold">BundleMetaDataDeployer</emphasis>
-
- <para>The BundleMetaDataDeployer creates the BundleMetaData from Manifest Headers. If the manifest does not contain
- a header named <emphasis role="bold">Bundle-SymbolicName</emphasis> this deployer does nothing. </para>
-
- <emphasis role="bold">BundleRealDeployer</emphasis>
-
- <para>The BundleRealDeployer installs the Bundle into the Framework's SystemContext. Optionally you can configure a list of
- bundle locations that should be skipped and hence not installed. Typically, these bundles are already installed during
- Framework startup.</para>
-
- <para>On undeploy the Bundle gets uninstalled from the Framework's SystemContext.</para>
-
- <emphasis role="bold">BundleStartLevelDeployer</emphasis>
-
- <para>Sets the bundle's start level on the StartLevel service. A start level can be given when
- the bundle is deployed through the WebConsole. Currently, neither hot deployment nor SPI test
- framework deployments support start levels.</para>
-
- <emphasis role="bold">BundleStartStopDeployer</emphasis>
-
- <para>The BundleStartStopDeployer currently works in two modes:</para>
-
- <itemizedlist>
- <listitem>deferredStart (default)</listitem>
- <listitem>simpleStart</listitem>
- </itemizedlist>
-
- <para>In mode <emphasis role="bold">deferredStart</emphasis> the Bundle is added to a list of unresolved Bundles, which then get passed
- on to <ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/packageadmin/PackageAdmin.html#resolveBundles(org.osgi.framework.Bundle[])"><code>PackageAdmin.resolveBundles(Bundle[])</code></ulink>.
- The deployer then iterates over the unresolved Bundles and only starts those Bundles that are in state
- <ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/framework/Bundle.html#RESOLVED"><code>RESOLVED</code></ulink>.
- In this mode Bundles can be deployed in any order and only get started when all their respective dependencies can be resolved.</para>
-
- <para>In mode <emphasis role="bold">simpleStart</emphasis> the deployer attempts to start the Bundle regardless of whether its
- dependencies can get resolved. In case the Bundle has a dependency oin a package that is not yet available, deployment will fail.
- In this mode Bundles must be deployed in the order required to start them.</para>
-
- <para>The start mode is a configurable property on the Framework's SystemContext.</para>
-
- <programlisting role="XML"><![CDATA[
- <!--
- If set to 'true' bundles can be deployed in any order. Deployed bundle will get started when their dependencies can be resolved.
- If set to 'false' bundles must be deployed in the order that is required to start them.
- -->
- <entry><key>org.jboss.osgi.deferred.start</key><value>true</value></entry>
- ]]></programlisting>
-
- <emphasis role="bold">BundleStructureDeployer</emphasis>
-
- <para>The BundleStructureDeployer determines the structure of a Bundle deployment. It ignores all deployments that
- are not top-level or do not have a manifest header named <emphasis role="bold">Bundle-SymbolicName</emphasis></para>
-
- </sect1>
-
<sect1 xml:id="SecJMXView">
<title>Management View</title>
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch070-provided-bundles.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch070-provided-bundles.xml 2009-10-13 09:46:29 UTC (rev 94763)
+++ projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch070-provided-bundles.xml 2009-10-13 11:22:08 UTC (rev 94764)
@@ -111,85 +111,6 @@
</sect1>
- <sect1 xml:id="SecBundleCommon">
- <title>Logging Service</title>
-
- <para>The JBoss OSGi <emphasis role="bold">jboss-osgi-common.jar</emphasis> bundle contains a simple Logging Bridge Service to
- <ulink url="http://www.jboss.org/community/docs/DOC-11280">JBoss Logging</ulink>. It registers a trivial LogListener with the
- LogReaderService in case that service is registered with the Framework.</para>
-
- <itemizedlist>
- <listitem><ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/log/LogListener.html">LogListener</ulink> - Subscribes to LogEntry objects from the LogReaderService</listitem>
- <listitem><ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/log/LogReaderService.html">LogReaderService</ulink> - Provides methods to retrieve LogEntry objects from the log</listitem>
- </itemizedlist>
-
- <para>The LogReaderService is part of the standard <ulink url="http://www.osgi.org/Download/File?url=/download/r4v41/r4.cmpn.pdf">OSGi
- Compendium Services</ulink>. JBoss OSGi currently uses the <ulink url="http://felix.apache.org/site/apache-felix-log-service.html">Log Service</ulink>
- from <ulink url="http://felix.apache.org">Apache Felix</ulink>, which gets deployed as Bundle <emphasis role="bold">org.apache.felix.log.jar</emphasis>
- </para>
-
- <para>The LogListener itself logs messages under the Bundle's symbolic name. You can change the logging for specific Bundles by
- <ulink url="http://www.jboss.org/community/docs/DOC-12490">setting the respective logging level</ulink>.</para>
- </sect1>
-
- <sect1 xml:id="SecBundleRemoteLog">
- <title>Remote Log Service</title>
-
- <para>The JBoss OSGi <emphasis role="bold">jboss-osgi-remotelog.jar</emphasis> bundle contains a client side
- <ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/log/LogReaderService.html">RemoteLogReaderService</ulink> that remotely
- communicates with a server side <ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/log/LogListener.html">LogListener</ulink>.
- </para>
-
- <para>The Remote Log Service is configured with these properties.</para>
-
- <table>
- <tr><th>Key</th><th>Value</th><th>Description</th></tr>
- <tr valign="top">
- <td>org.jboss.osgi.service.remote.log.sender</td>
- <td>true/false</td>
- <td>Enable the server side LogListener</td>
- </tr>
- <tr valign="top">
- <td>org.jboss.osgi.service.remote.log.reader</td>
- <td>true/false</td>
- <td>Enable the client side LogReaderService</td>
- </tr>
- <tr valign="top">
- <td>org.jboss.osgi.service.remote.log.host</td>
- <td>localhost</td>
- <td>The remote host that log messages are sent to</td>
- </tr>
- <tr valign="top">
- <td>org.jboss.osgi.service.remote.log.port</td>
- <td>5400</td>
- <td>The remote port that log messages are sent to</td>
- </tr>
- </table>
-
- <para>On the client side you can install an arbitrary <ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/log/LogListener.html">LogListener</ulink>
- with the <ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/log/LogReaderService.html">RemoteLogReaderService</ulink>. The testsuite typically
- installs an <ulink url="http://jbmuc.dyndns.org/jboss-osgi-1.0.0.Beta4/apidocs/org/jboss/osgi/spi/logging/LogEntryCache.html">LogEntryCache</ulink>
- that filters the received log messages.</para>
-
- <programlisting role="JAVA">
- LogEntryCache logEntryCache = new LogEntryCache();
- logEntryCache.addFilter(new LogEntryFilter("example-log(.*)", LogService.LOG_INFO, "\\[ServiceA\\](.*)"));
-
- // Track the RemoteLogReaderService to add the LogEntryCache as LogListener
- ServiceTracker tracker = new ServiceTracker(sysContext, RemoteLogReaderService.class.getName(), null)
- {
- @Override
- public Object addingService(ServiceReference sref)
- {
- LogReaderService service = (LogReaderService)super.addingService(sref);
- service.addLogListener(logEntryCache);
- return service;
- }
- };
- tracker.open();
- </programlisting>
- </sect1>
-
<sect1 xml:id="SecBundleMicrocontainer">
<title>Microcontainer Service</title>
Modified: projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch080-provided-examples.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch080-provided-examples.xml 2009-10-13 09:46:29 UTC (rev 94763)
+++ projects/jboss-osgi/trunk/distribution/docbook/en/modules/ch080-provided-examples.xml 2009-10-13 11:22:08 UTC (rev 94764)
@@ -18,53 +18,42 @@
<programlisting>
[tdiesler at tddell example]$ mvn test
- [INFO] ------------------------------------------------------------------------
- [INFO] Building JBoss OSGi - Testsuite Examples
- [INFO] task-segment: [test]
- [INFO] ------------------------------------------------------------------------
- ...
- build-test-jars:
- # example-blueprint (example-blueprint.jar) 6
- # example-http (example-http.jar) 4
- # example-jmx (example-jmx.jar) 4
- # example-jndi (example-jndi.jar) 1
- # example-log (example-log.jar) 2
- # example-mcservice-bundleA (example-mcservice-bundleA.jar) 2
- # example-mcservice-bundleB (example-mcservice-bundleB.jar) 3
- # example-simple (example-simple.jar) 2
- # example-simple-husky (example-simple-husky.jar) 4
- # example-xml-jaxb (example-xml-jaxb.jar) 8
- # example-xml-parser (example-xml-parser.jar) 4
-------------------------------------------------------
T E S T S
-------------------------------------------------------
+ Running org.jboss.test.osgi.example.webapp.WebAppTestCase
+ Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.202 sec
Running org.jboss.test.osgi.example.blueprint.BlueprintTestCase
- Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.222 sec
+ Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.447 sec
Running org.jboss.test.osgi.example.xml.jaxb.JAXBTestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.685 sec
+ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.722 sec
Running org.jboss.test.osgi.example.microcontainer.MicrocontainerTestCase
- Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.917 sec
+ Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.444 sec
Running org.jboss.test.osgi.example.xml.parser.SAXParserTestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.01 sec
+ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.452 sec
Running org.jboss.test.osgi.example.http.HttpServiceTestCase
- Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.45 sec
+ Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.562 sec
Running org.jboss.test.osgi.example.xml.parser.DOMParserTestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.016 sec
- Running org.jboss.test.osgi.example.log.LogServiceTestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.923 sec
+ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.032 sec
Running org.jboss.test.osgi.example.jndi.JNDITestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.921 sec
+ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.836 sec
Running org.jboss.test.osgi.example.jmx.JMXTestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.937 sec
+ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.058 sec
Running org.jboss.test.osgi.example.simple.SimpleTestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.588 sec
+ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.772 sec
Running org.jboss.test.osgi.example.simple.SimpleHuskyTestCase
- Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.813 sec
+ Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.262 sec
- Results :
+ Tests run: 21, Failures: 0, Errors: 0, Skipped: 0
- Tests run: 19, Failures: 0, Errors: 0, Skipped: 0
+ [INFO] ------------------------------------------------------------------------
+ [INFO] BUILD SUCCESSFUL
+ [INFO] ------------------------------------------------------------------------
+ [INFO] Total time: 49 seconds
+ [INFO] Finished at: Tue Oct 13 13:04:20 CEST 2009
+ [INFO] Final Memory: 25M/47M
+ [INFO] ------------------------------------------------------------------------
</programlisting>
<para>To run the examples against a remote OSGi Runtime, you need to provide the
@@ -85,6 +74,20 @@
<listitem>jboss600</listitem>
</itemizedlist>
+ <para>To run the examples against a different OSGi Framework, you need to define the
+ <emphasis role="bold">framework</emphasis> system property.</para>
+
+ <programlisting>
+ mvn -Dframework=felix test
+ </programlisting>
+
+ <para>Suported framework values are:</para>
+
+ <itemizedlist>
+ <listitem>jbossmc</listitem>
+ <listitem>equinox</listitem>
+ <listitem>felix</listitem>
+ </itemizedlist>
</sect1>
<sect1 xml:id="SecSimpleExample">
@@ -282,36 +285,52 @@
<para>The test then verifies that the registered servlet context and the registered resource can be accessed.</para>
</sect1>
- <sect1 xml:id="SecLogServiceExample">
- <title>Log Service Example</title>
+ <sect1 xml:id="SecWebAppExample">
+ <title>Web App Example</title>
- <para>The <emphasis role="bold">example-log.jar</emphasis> bundle contains a Service
- that logs messages to the <ulink url="http://www.osgi.org/javadoc/r4v41/org/osgi/service/log/LogService.html">LogService</ulink>.
-
+ <para>The <emphasis role="bold">example-webapp.war</emphasis> archive is an OSGi Bundle as well as an Web Application Archive (WAR)
+ at the same time. Similar to <link linkend="SecHTTPServiceExample">HTTP Service Example</link> it registers a servlet and resources with
+ the WebApp container. This is done through a standard web.xml descriptor.
</para>
+ <programlisting role="XML"><![CDATA[
+ <web-app xmlns="http://java.sun.com/xml/ns/javaee" ... version="2.5">
+
+ <display-name>WebApp Sample</display-name>
+
+ <servlet>
+ <servlet-name>servlet</servlet-name>
+ <servlet-class>org.jboss.test.osgi.example.webapp.bundle.EndpointServlet</servlet-class>
+ <init-param>
+ <param-name>initProp</param-name>
+ <param-value>SomeValue</param-value>
+ </init-param>
+ </servlet>
+
+ <servlet-mapping>
+ <servlet-name>servlet</servlet-name>
+ <url-pattern>/servlet</url-pattern>
+ </servlet-mapping>
+
+ </web-app>
+ ]]></programlisting>
+
+ <para>The test verifies that we can access the servlet and some resourtces.</para>
+
<programlisting role="JAVA">
- public ServiceA(BundleContext context)
+ @Test
+ public void testResourceAccess() throws Exception
{
- log = new LogServiceTracker(context);
- log.log(LOG_INFO, "[ServiceA] new Service");
+ assertEquals("Hello from Resource", getHttpResponse("/message.txt"));
}
+
+ @Test
+ public void testServletAccess() throws Exception
+ {
+ assertEquals("Hello from Servlet", getHttpResponse("/servlet?test=plain"));
+ }
</programlisting>
-
- <para>The test then filters and verifies the log messages.</para>
- <programlisting role="JAVA">
- LogEntryCache logEntryCache = new LogEntryCache();
- logEntryCache.addFilter(new LogEntryFilter(null, 0, "\\[ServiceA\\](.*)"));
- startLogEntryTracking(logEntryCache);
-
- // Verify the received log entries
- List entries = logEntryCache.getLog();
- assertEquals("Number of entries", 1, entries.size());
- assertEquals("[ServiceA] new Service", entries.get(0).getMessage());
- </programlisting>
-
- <para>The test is available both for embedded and remote LogService testing.</para>
</sect1>
<sect1 xml:id="SecMicrocontainerServiceExample">
Modified: projects/jboss-osgi/trunk/distribution/docbook/src/main/graphics/jbossosgi-runtime.odp
===================================================================
(Binary files differ)
Modified: projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml
===================================================================
--- projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-10-13 09:46:29 UTC (rev 94763)
+++ projects/jboss-osgi/trunk/distribution/installer/src/main/resources/installer/install-definition.xml 2009-10-13 11:22:08 UTC (rev 94764)
@@ -87,14 +87,6 @@
<name>jbossTargetServer</name>
<value>minimal</value>
</condition>
- <condition type="or" id="isFelixOrEquinox">
- <condition type="ref" refid="isFelix" />
- <condition type="ref" refid="isEquinox" />
- </condition>
- <condition type="and" id="isJBossMCAndJBoss600">
- <condition type="ref" refid="isJBossMC" />
- <condition type="ref" refid="isJBoss600" />
- </condition>
</conditions>
<!-- Panels -->
@@ -103,7 +95,7 @@
<panel classname="TargetPanel" />
<panel classname="TreePacksPanel" />
<panel classname="UserInputPanel" id="framework.select" />
- <panel classname="UserInputPanel" id="jbossas.select.felix.equinox" condition="isFelixOrEquinox" />
+ <panel classname="UserInputPanel" id="jbossas.select.felix.equinox" condition="isFelix|isEquinox" />
<panel classname="UserInputPanel" id="jbossas.select.jbossmc" condition="isJBossMC" />
<panel classname="UserInputPanel" id="jboss.home.select" />
<panel classname="SummaryPanel" />
More information about the jboss-cvs-commits
mailing list