Uploaded image for project: 'CXF Distributed OSGi (Retired)'
  1. CXF Distributed OSGi (Retired)
  2. DOSGI-78

Package-uses constraint in multi-bundle distribution on Java SE 6 (with solution)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Cannot Reproduce
    • 1.2
    • None
    • Product
    • None
    • Java SE 6

    Description

      When using the multi-bundle distribution on Java SE 6, a package-uses constraint violation occurs for the following reasons:

      • Bundle "org.apache.cxf.bundle-minimal" imports package "javax.xml.ws" with range [0.0, 3). On Java SE 6 this import is satisfied by the system bundle, which exports it as version 0.
      • Bundle "cxf-dosgi-ri-dsw-cxf" imports the same package with range [2.1, infinity). This can be satisfied by bundle "org.apache.servicemix.specs.jaxws-api-2.1", which exports the package as version 2.1. However the dsw bundle also imports package "org.apache.cxf" from the CXF minimal bundle, and therefore cannot resolve due to the uses constraints.

      Note that the problem does not occur on Java SE 1.5 or earlier as those versions do not include the javax.xml.ws package.

      WORKAROUND:

      The OSGi framework can be configured to not export package javax.xml.ws (and javax.xml.ws.hander etc), for example using the "org.osgi.framework.system.packages" property. Then both bundles will import from the jaxws-api-2.1 bundle.

      SUGGESTED FIX:

      The import range on the CXF minimal bundle for this package is too wide. I suggest changing it to [2.0,3).

      Attachments

        Activity

          People

            Unassigned Unassigned
            njbartlett Neil Bartlett
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: