Does anybody have any success starting camel bundles (say the
camel-core bundle) in an osgi container?  I have tried doing that
(installing went fine) with the camel-core bundle in felix and there
were unresolved packages (jaxb-api, common-logging, and
springframework).   I was able to wrap jaxb-api and common-logging
jars as bundles following the procedures in
http://felix.apache.org/site/creating-bundles-using-bnd.html.
However, wrapping springframework is rather daunting since it pulls in
dependencies after dependencies.  The new spring jars (2.1) are
already osgi bundles but I don't think I can use them since they are
versioned (as 2.1.0.m4).  Camel-core would import the default version
(0.0.0).

One way to hack it (as follow) is to use the DynamicImport-Package
attribute to allow the osgi container to resolve those packages from
its classpath.  I wonder if anybody has any advice.

Thanks,
William

<plugin>
        <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>${felix-version}</version>
            <extensions>true</extensions>
            <configuration>
              <instructions>
                <Bundle-Name>${artifactId}</Bundle-Name>
                
<Bundle-SymbolicName>${camel.osgi.symbolic.name}</Bundle-SymbolicName>
                <Export-Package>${camel.osgi.export}</Export-Package>
                <Import-Package>${camel.osgi.import}</Import-Package>
                <Private-Package>${camel.osgi.private.pkg}</Private-Package>
                <Implementation-Title>Apache Camel</Implementation-Title>
                
<Implementation-Version>${project.version}</Implementation-Version>
                <Private-Package>${camel.osgi.private.pkg}</Private-Package>

<DynamicImport-Package>javax.xml.bind.annotation.adapters,
org.springframework.jmx.export.metadata,
org.springframework.jmx.export.annotation, javax.xml.stream,
org.apache.commons.logging, org.springframework.jmx.export.assembler,
javax.xml.bind.annotation</DynamicImport-Package>
              </instructions>
            </configuration>
      </plugin>

Reply via email to