Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Setting up the Multi Bundle Distribution of CXF Distributed OSGi

The multi-bundle distribution of CXF/DOSGi contains all the DOSGi bundles plus their dependencies as individual bundles. While the single-bundle distribution is certainly easier to get started with, the multi-bundle distro is more flexible wrt to sharing bundles and updating dependencies. To obtain a multi bundle distribution see the DOSGi Releases page.

Setting up Felix

...

(verified with

...

4.0.

...

In the distribution you will find a file called: .../conf/felix.config.properties.append. This file contains auto-start instructions for every bundle in the distribution.

  1. Simply copy the content of the whole file and append it to the conf/config.properties file of the Felix distribution.
  2. Fix the file:apache-cxf-dosgi-ri URLs in the file to point to where you have unzipped the distribution.

At the end the conf/config.properties file looks like this:

3)

Change directory to the felix framework main dir. Unpack the cxf dosgi distro there. Append the felix config from the distro to the felix config.properties. Start felix.

Code Block

tar -xzvf cxf-dosgi-ri-multibundle-distribution-1.4-SNAPSHOT-dir.tar.gz
cat 
Code Block
... existing lines ...
org.ops4j.pax.web.session.timeout=30
org.osgi.framework.startlevel.beginning=95
    
felix.auto.start.51=file:///c:/apache-cxf-dosgi-ri-1.3/dosgi_bundles/geronimo-annotation_1.0_spec-1.1.1.jar
felix.auto.start.52=file:///c:/apache-cxf-dosgi-ri-1.3/dosgi_bundles/geronimo-activation_1.1_spec-1.1.0.jar
... and so on ...

You may need to update the 'org.osgi.framework.system.packages.extra' to reference the org.w3c.dom.traversal package.
Also a felix.startlevel.bundle may need to be uncommented and set to 95; that may be needed to make sure the custom bundles importing annotations will always be started after the spec bundles have been loaded.

Now start Felix:

Code Block
.../felix-4.0.2> 4-SNAPSHOT/conf/felix.config.properties.append >> conf/config.properties
java -jar bin/felix.jar

Welcome to Felix.
=================
... some log messages may appear ...
-> bundles
    ID   State         Level  Name
    0|Active     |    0|org.apache.felix.framework (4.0.2)
    1|Active     |    1|org.apache.felix.bundlerepository (1.6.6)
    2|Active     |    1|org.apache.felix.gogo.command (0.12.0)
    3|Active     |    1|org.apache.felix.gogo.runtime (0.10.0)
    4|Active     |    1|org.apache.felix.gogo.shell (0.10.0)
    5|Active     |   85|org.apache.servicemix.specs.stax-api-1.0 (1.9.0)
    6|Active     |   53|org.apache.geronimo.specs.geronimo-javamail_1.4_spec (1.2.0)
    7|Active     |   84|org.apache.servicemix.specs.saaj-api-1.3 (1.9.0)
    8|Active     |   52|org.apache.geronimo.specs.geronimo-activation_1.1_spec (1.1.0)
    9|Active     |   83|org.apache.servicemix.bundles.commons-pool (1.5.4.1)
   10|Active     |   51|org.apache.geronimo.specs.geronimo-annotation_1.0_spec (1.1.1)
   11|Active     |   82|woodstox-core-asl (4.1.1)
   12|Active     |   81|stax2-api (3.1.1)
   13|Active     |   80|org.apache.neethi (3.0.1)
   14|Active     |   79|org.apache.servicemix.bundles.xmlresolver (1.2.0.4)
   15|Active     |   78|org.apache.servicemix.bundles.asm (3.3.0.2)
   16|Active     |   77|org.apache.ws.xmlschema.core (2.0.1)
   17|Active     |   76|org.apache.servicemix.bundles.xmlsec (1.4.5.1)
   18|Active     |   75|org.apache.servicemix.bundles.wsdl4j (1.6.2.5)
   19|Active     |   74|org.apache.servicemix.bundles.jaxb-impl (2.1.13.2)
   20|Active     |   73|org.ops4j.pax.web.pax-web-jetty (1.0.3)
   21|Active     |   72|org.ops4j.pax.web.pax-web-runtime (1.0.3)
   22|Active     |   71|org.ops4j.pax.web.pax-web-spi (1.0.3)
   23|Active     |   70|org.eclipse.jetty.aggregate.jetty-all-server (7.4.2.v20110526)
   24|Active     |   69|org.springframework.osgi.extender (1.2.1)
   25|Active     |   68|org.springframework.osgi.core (1.2.1)
   26|Active     |   67|org.springframework.osgi.io (1.2.1)
   27|Active     |   66|org.springframework.expression (3.0.6.RELEASE)
   28|Active     |   65|org.springframework.asm (3.0.6.RELEASE)
   29|Active     |   64|org.springframework.aop (3.0.6.RELEASE)
   30|Active     |   95|cxf-dosgi-ri-topology-manager (1.3.0.SNAPSHOT)
   31|Resolved   |   63|com.springsource.slf4j.jcl (1.5.10)
   32|Active     |   94|cxf-dosgi-ri-dsw-cxf (1.3.0.SNAPSHOT)
   33|Active     |   62|com.springsource.slf4j.api (1.5.10)
   34|Active     |   93|osgi.enterprise (4.2.0.201003190513)
   35|Active     |   61|com.springsource.org.aopalliance (1.0.0)
   36|Active     |   92|cxf-dosgi-ri-discovery-local (1.3.0.SNAPSHOT)
   37|Active     |   60|org.springframework.context (3.0.6.RELEASE)
   38|Active     |   91|org.apache.cxf.bundle-minimal (2.5.2)
   39|Active     |   90|org.apache.servicemix.bundles.opensaml (2.4.1.1)
   40|Active     |   59|org.springframework.beans (3.0.6.RELEASE)
   41|Active     |   58|org.springframework.core (3.0.6.RELEASE)
   42|Active     |   89|org.apache.servicemix.bundles.joda-time (1.5.2.4)
   43|Active     |   57|com.springsource.org.jdom (1.1.0)
   44|Active     |   88|org.apache.servicemix.specs.jsr311-api-1.1.1 (1.9.0)
   45|Active     |   56|com.springsource.org.apache.commons.logging (1.1.1)
   46|Active     |   87|org.apache.servicemix.specs.jaxws-api-2.1 (1.9.0)
   47|Active     |   55|org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec (1.1.3)
   48|Active     |   86|org.apache.servicemix.specs.jaxb-api-2.1 (1.9.0)
   49|Active     |   54|org.apache.geronimo.specs.geronimo-servlet_3.0_spec (1.0.0)

Setting up Equinox

...

Verify that all bundles are in state Active. There should be no exceptions in the logs.

Setting up Eclipse Equinox (verified with Equinox 3.6.2)

In the distribution you will find a file called: .../conf/equinox.config.ini.append. This file contains auto-start instructions for every bundle in the distribution.

...

Code Block
org.ops4j.pax.web.session.timeout=30
osgi.bundles=org.eclipse.osgi.services@start, \
c:/apache-cxf-dosgi-ri-1.3/dosgi_bundles/geronimo-annotation_1.0_spec-1.1.1.jar@start, c:/apache-cxf-dosgi-ri-1.3/dosgi_bundles/geronimo-activation_1.1_spec-1.0.2.jar@start, 
... and so on ...

Now start Equinox :and verify that all bundles are in state Active

Code Block
.../eclipse> 
java -jar plugins/org.eclipse.osgi_3.6.2.R36x_v20110210.jar -console -configuration dosgi_conf
... some log messages may appear ...
osgi> ss

Framework is launched.

id      State       Bundle
0	ACTIVE      org.eclipse.osgi_3.6.2.R36x_v20110210
1	ACTIVE      org.apache.geronimo.specs.geronimo-annotation_1.0_spec_1.1.1
2	ACTIVE      org.apache.geronimo.specs.geronimo-activation_1.1_spec_1.1.0
3	ACTIVE      org.apache.geronimo.specs.geronimo-javamail_1.4_spec_1.2.0
4	ACTIVE      org.apache.geronimo.specs.geronimo-servlet_3.0_spec_1.0.0
5	ACTIVE      org.apache.geronimo.specs.geronimo-ws-metadata_2.0_spec_1.1.3
6	ACTIVE      com.springsource.org.apache.commons.logging_1.1.1
7	ACTIVE      com.springsource.org.jdom_1.1.0
8	ACTIVE      org.springframework.core_3.0.6.RELEASE
9	ACTIVE      org.springframework.beans_3.0.6.RELEASE
10	ACTIVE      org.springframework.context_3.0.6.RELEASE
12	ACTIVE      com.springsource.org.aopalliance_1.0.0
13	ACTIVE      com.springsource.slf4j.api_1.5.10
	            Fragments=14
14	RESOLVED    com.springsource.slf4j.jcl_1.5.10
	            Master=13
15	ACTIVE      org.springframework.aop_3.0.6.RELEASE
16	ACTIVE      org.springframework.asm_3.0.6.RELEASE
17	ACTIVE      org.springframework.expression_3.0.6.RELEASE
18	ACTIVE      org.springframework.osgi.io_1.2.1
19	ACTIVE      org.springframework.osgi.core_1.2.1
20	ACTIVE      org.springframework.osgi.extender_1.2.1
21	ACTIVE      org.eclipse.jetty.aggregate.jetty-all-server_7.4.2.v20110526
22	ACTIVE      org.ops4j.pax.web.pax-web-spi_1.0.8
23	ACTIVE      org.ops4j.pax.web.pax-web-runtime_1.0.8
24	ACTIVE      org.ops4j.pax.web.pax-web-jetty_1.0.8
25	ACTIVE      org.apache.servicemix.bundles.jaxb-impl_2.1.13.2
26	ACTIVE      org.apache.servicemix.bundles.wsdl4j_1.6.2.5
27	ACTIVE      org.apache.servicemix.bundles.xmlsec_1.4.5.1
28	ACTIVE      org.apache.ws.xmlschema.core_2.0.1
29	ACTIVE      org.apache.servicemix.bundles.asm_3.3.0.2
30	ACTIVE      org.apache.servicemix.bundles.xmlresolver_1.2.0.4
31	ACTIVE      org.apache.neethi_3.0.1
32	ACTIVE      stax2-api_3.1.1
33	ACTIVE      woodstox-core-asl_4.1.1
34	ACTIVE      org.apache.servicemix.bundles.commons-pool_1.5.4.1
35	ACTIVE      org.apache.servicemix.specs.saaj-api-1.3_1.9.0
36	ACTIVE      org.apache.servicemix.specs.stax-api-1.0_1.9.0
37	ACTIVE      org.apache.servicemix.specs.jaxb-api-2.1_1.9.0
38	ACTIVE      org.apache.servicemix.specs.jaxws-api-2.1_1.9.0
39	ACTIVE      org.apache.servicemix.specs.jsr311-api-1.1.1_1.9.0
40	ACTIVE      org.apache.servicemix.bundles.joda-time_1.5.2.4
41	ACTIVE      org.apache.servicemix.bundles.opensaml_2.4.1.1
42	ACTIVE      org.apache.cxf.bundle-minimal_2.5.0
43	ACTIVE      cxf-dosgi-ri-discovery-local_1.3.0.SNAPSHOT
44	ACTIVE      osgi.enterprise_4.2.0.201003190513
45	ACTIVE      cxf-dosgi-ri-dsw-cxf_1.3.0.SNAPSHOT
46	ACTIVE      cxf-dosgi-ri-topology-manager_1.3.0.SNAPSHOT
osgi> ss

In both cases install the greeter demo to check if services are exported correctly