|
Page Edited :
CXF :
Distributed OSGi
Distributed OSGi has been edited by David Bosschaert (Jan 29, 2009). Content:Apache CXF provides the Reference Implementation of the Distribution Software (DSW) component of the Distributed OSGi Specification (RFC 119 in http://www.osgi.org/download/osgi-4.2-early-draft2.pdf It implements RFC 119 using Web Services, leveraging SOAP over HTTP and exposing the Web Service over a WSDL contract. NOTE: This page is work in progress! Getting StartedNOTE: at the moment you need to build CXF and the CXF-minimal distribution before you an use the DOSGi code, this is a temporary inconvenience. mvn install -Dmaven.test.skip=true
cd distribution/bundle/minimal
mvn install
Now you're ready to get started with the CXF implementation of Distributed OSGi.
Which distribution to take? That depends on what you are doing. The single-bundle distribution is a really convenient way of getting started as it provides all of Distributed OSGi plus its dependencies in one. The SamplesThe samples directory contains the following sample projects: Walkthrough of the Greeter Demo Using it in your OSGi containerConfiguration file snippets for Felix and Equinox are automatically generated during the build process. You can paste these snippets in the configuration of you OSGi container to automatically load the bundles for your distribution. After doing a build, the following snippets are available: Note that to run the Distributed OSGi bundles, you need an OSGi container that implements the ListenerHook Service Registry Hook. This is a new feature in OSGi 4.2 which is available in Felix from version 1.4.1 and Equinox 3.5 milestones since December 2008. Using FelixVerified with: Felix pre 1.4.1 trunk
For the single-bundle distribution, the following bundles will be present: java -jar bin\felix.jar*
... log output ommitted ...
-> ps
START LEVEL 2
ID State Level Name
[ 0] [Active ] [ 0] System Bundle (1.5.0.SNAPSHOT)
[ 1] [Active ] [ 1] Apache Felix Shell Service (1.1.0.SNAPSHOT)
[ 2] [Active ] [ 1] Apache Felix Shell TUI (1.1.0.SNAPSHOT)
[ 3] [Active ] [ 1] Apache Felix Bundle Repository (1.3.0.SNAPSHOT)
[ 4] [Active ] [ 2] OSGi R4 Compendium Bundle (4.1.0)
[ 5] [Active ] [ 2] Distributed OSGi Distribution Software Single-Bundle Distribution
For the multi-bundle distribution the list is obviously much longer: START LEVEL 34
ID State Level Name
[ 0] [Active ] [ 0] System Bundle (1.5.0.SNAPSHOT)
[ 1] [Active ] [ 1] Apache Felix Shell Service (1.1.0.SNAPSHOT)
[ 2] [Active ] [ 1] Apache Felix Shell TUI (1.1.0.SNAPSHOT)
[ 3] [Active ] [ 1] Apache Felix Bundle Repository (1.3.0.SNAPSHOT)
[ 4] [Active ] [ 2] OSGi R4 Compendium Bundle (4.1.0)
[ 5] [Active ] [ 3] geronimo-annotation_1.0_spec (1.1.1)
[ 6] [Active ] [ 4] geronimo-activation_1.1_spec (1.0.2)
[ 7] [Active ] [ 5] geronimo-javamail_1.4_spec (1.2)
[ 8] [Active ] [ 6] geronimo-ws-metadata_2.0_spec (1.1.2)
[ 9] [Active ] [ 7] geronimo-servlet_2.5_spec (1.1.2)
[ 10] [Active ] [ 8] Apache Commons Logging (1.1.1)
[ 11] [Active ] [ 9] JDOM DOM Processor (1.0.0)
[ 12] [Active ] [ 10] spring-core (2.5.5)
[ 13] [Active ] [ 11] spring-beans (2.5.5)
[ 14] [Active ] [ 12] spring-context (2.5.5)
[ 15] [Active ] [ 13] AOP Appliance API (1.0.0)
[ 16] [Active ] [ 14] spring-aop (2.5.5)
[ 17] [Active ] [ 15] spring-osgi-io (1.1.2)
[ 18] [Active ] [ 16] spring-osgi-core (1.1.2)
[ 19] [Active ] [ 17] spring-osgi-extender (1.1.2)
[ 20] [Active ] [ 18] Jetty Utilities (6.1.9)
[ 21] [Active ] [ 19] Jetty Server (6.1.9)
[ 22] [Active ] [ 20] org.apache.servicemix.specs.locator-1.0.0.jar
[ 23] [Active ] [ 21] Apache ServiceMix OSGI Common Bundles: jaxb-impl (4.0.0.m1)
[ 24] [Active ] [ 22] Apache ServiceMix OSGI Common Bundles: wsdl4j (4.0.0.m1)
[ 25] [Active ] [ 23] Apache ServiceMix OSGI Common Bundles: xmlschema (4.0.0.m1)
[ 26] [Active ] [ 24] Apache ServiceMix OSGI Common Bundles: asm-2.2.3 (1.0.0.rc1)
[ 27] [Active ] [ 25] Apache ServiceMix OSGI Common Bundles: xmlresolver (4.0.0.m1)
[ 28] [Active ] [ 26] Apache ServiceMix OSGI Common Bundles: neethi (4.0.0.m1)
[ 29] [Active ] [ 27] Apache ServiceMix Bundles: woodstox-3.2.7 (3.2.7.1)
[ 30] [Active ] [ 28] Apache CXF Minimal Bundle Jar (2.0.8)
[ 31] [Active ] [ 29] CXF Local Discovery Service Bundle
[ 32] [Active ] [ 30] CXF Distributed Software Bundle
[ 33] [Active ] [ 31] Apache ServiceMix Specs :: SAAJ API 1.3 (1.0.0)
[ 34] [Active ] [ 32] Apache ServiceMix Specs :: STAX API 1.0 (1.0.0)
[ 35] [Active ] [ 33] Apache ServiceMix Specs :: JAXB API 2.0 (1.0.0)
[ 36] [Active ] [ 34] Apache ServiceMix Specs :: JAXWS API 2.0 (1.0.0)
Using EquinoxVerified with: Eclipse Equinox 3.5M4 Append the contents of the equinox.config.ini.append file to your Equinox configuration/config.ini file. Or create a new config.ini file with the contents of the equinox.config.ini.append file if you don't have one. Then start up equinox as normal. You will get something like this (for the single-bundle distribution): java -jar plugins\org.eclipse.osgi_3.5.0.v20081201-1815.jar -configuration configuration -console ... log output ommitted ... osgi> ss Framework is launched. id State Bundle 0 ACTIVE org.eclipse.osgi_3.5.0.v20081201-1815 1 ACTIVE org.eclipse.osgi.services_3.2.0.v20081205-1800 2 ACTIVE cxf-dosgi-ri-singlebundle-distribution Using Equinox from with the Eclipse IDEThis option is really handy for debugging. Verified with: Eclipse 3.5M5 |
Unsubscribe or edit your notifications preferences
