You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@camel.apache.org by "Stephan Siano (JIRA)" <ji...@apache.org> on 2010/10/21 15:40:40 UTC

[jira] Created: (CAMEL-3264) Split package issue on OSGi with META-INF.cxf

Split package issue on OSGi with META-INF.cxf
---------------------------------------------

                 Key: CAMEL-3264
                 URL: https://issues.apache.org/activemq/browse/CAMEL-3264
             Project: Apache Camel
          Issue Type: Bug
          Components: camel-cxf
    Affects Versions: 2.4.0
         Environment: equinox OSGi container
            Reporter: Stephan Siano
            Priority: Minor


When using camel-cxf with <cxf:cxfEndpoint> definitions in sprinf DSL it is necessary to import resources provided by the CXF bundle as in the camel-example-cxf-proxy example. This example does not work reliably on all OSGi containers (for me it worked on karaf, but it did not work on equinox, but I think this is only accidental and an <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-camel.xml"/> will never work).

A further analysis showed that both the CXF bundle (as provided from apache) and the camel-cxf bundle do an export on the META-INF.cxf package. If another bundle (containig the scenario) imports this package, the resolution is ambigous, so it can be resolved either to the CXF bundle or to the camel-cxf bundle. In one case the  <import resource="classpath:META-INF/cxf/cxf.xml"/>  will fail, in the other case it will succeed.

The osgi 4.2 spec has some input about handling split packages in section 3.12, but I think there should be some change in the camel-cxf manifest.

I could work around the issue by creating a third bundle that has the following lines in it's manifest:
...
Export-Package: META-INF.cxf
Require-Bundle: org.apache.cxf.bundle,org.apache.camel.camel-cxf

This works for me, but it follows the "allowed but confusing" example in section 3.12.3 of the osgi 4.2 spec, so maybe there is a way to achieve the same thing with only two bundles involved.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (CAMEL-3264) Split package issue on OSGi with META-INF.cxf

Posted by "Stephan Siano (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/CAMEL-3264?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Stephan Siano closed CAMEL-3264.
--------------------------------

       Resolution: Duplicate
    Fix Version/s: 2.6.0

CAMEL-3303 is about the same issue

> Split package issue on OSGi with META-INF.cxf
> ---------------------------------------------
>
>                 Key: CAMEL-3264
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3264
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.4.0
>         Environment: equinox OSGi container
>            Reporter: Stephan Siano
>            Priority: Minor
>             Fix For: 2.6.0
>
>
> When using camel-cxf with <cxf:cxfEndpoint> definitions in sprinf DSL it is necessary to import resources provided by the CXF bundle as in the camel-example-cxf-proxy example. This example does not work reliably on all OSGi containers (for me it worked on karaf, but it did not work on equinox, but I think this is only accidental and an <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-camel.xml"/> will never work).
> A further analysis showed that both the CXF bundle (as provided from apache) and the camel-cxf bundle do an export on the META-INF.cxf package. If another bundle (containig the scenario) imports this package, the resolution is ambigous, so it can be resolved either to the CXF bundle or to the camel-cxf bundle. In one case the  <import resource="classpath:META-INF/cxf/cxf.xml"/>  will fail, in the other case it will succeed.
> The osgi 4.2 spec has some input about handling split packages in section 3.12, but I think there should be some change in the camel-cxf manifest.
> I could work around the issue by creating a third bundle that has the following lines in it's manifest:
> ...
> Export-Package: META-INF.cxf
> Require-Bundle: org.apache.cxf.bundle,org.apache.camel.camel-cxf
> This works for me, but it follows the "allowed but confusing" example in section 3.12.3 of the osgi 4.2 spec, so maybe there is a way to achieve the same thing with only two bundles involved.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CAMEL-3264) Split package issue on OSGi with META-INF.cxf

Posted by "Stephan Siano (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/CAMEL-3264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=62980#action_62980 ] 

Stephan Siano commented on CAMEL-3264:
--------------------------------------

Actually CAMEL-3303 is about the same issue and is already resolved, so I close this one.

> Split package issue on OSGi with META-INF.cxf
> ---------------------------------------------
>
>                 Key: CAMEL-3264
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-3264
>             Project: Apache Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.4.0
>         Environment: equinox OSGi container
>            Reporter: Stephan Siano
>            Priority: Minor
>             Fix For: 2.6.0
>
>
> When using camel-cxf with <cxf:cxfEndpoint> definitions in sprinf DSL it is necessary to import resources provided by the CXF bundle as in the camel-example-cxf-proxy example. This example does not work reliably on all OSGi containers (for me it worked on karaf, but it did not work on equinox, but I think this is only accidental and an <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-camel.xml"/> will never work).
> A further analysis showed that both the CXF bundle (as provided from apache) and the camel-cxf bundle do an export on the META-INF.cxf package. If another bundle (containig the scenario) imports this package, the resolution is ambigous, so it can be resolved either to the CXF bundle or to the camel-cxf bundle. In one case the  <import resource="classpath:META-INF/cxf/cxf.xml"/>  will fail, in the other case it will succeed.
> The osgi 4.2 spec has some input about handling split packages in section 3.12, but I think there should be some change in the camel-cxf manifest.
> I could work around the issue by creating a third bundle that has the following lines in it's manifest:
> ...
> Export-Package: META-INF.cxf
> Require-Bundle: org.apache.cxf.bundle,org.apache.camel.camel-cxf
> This works for me, but it follows the "allowed but confusing" example in section 3.12.3 of the osgi 4.2 spec, so maybe there is a way to achieve the same thing with only two bundles involved.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.