You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

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: Felix 4.0.2

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:

... 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:

.../felix-4.0.2> 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

Verified with: Eclipse/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.

  1. Create a directory in the Equinox installation, e.g. dosgi_conf and create a file called config.ini in this directory with the content of the equinox.config.ini.append file.
  2. Fix the ../apache-cxf-dosgi-ri path locations in the file to point to where you have unzipped the distribution.

At the end the dosgi_conf/config.ini file looks like this:

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:

.../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
  • No labels