Uploaded image for project: 'Aries'
  1. Aries
  2. ARIES-1452

Subsystem throws exception when bundle imports osgi framework

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Cannot Reproduce
    • subsystem-2.0.6, subsystem-2.0.8
    • subsystem-2.0.10
    • Subsystem
    • None
    • Mac OS X
      Apache Felix (inside Apache Sling 9-SNAPSHOT)

    Description

      When building an OSGi subsystem feature, I created two bundles, an api and a core. The core has following embedded dependency:

      <dependency>
      <groupId>com.squeakysand.osgi</groupId>
      <artifactId>squeakysand-osgi</artifactId>
      <version>0.4.0</version>
      </dependency>

      Using previous dependency in the core, it creates the Import-Package org.osgi.framework;version="[1.5,2)” when using maven-bundle-plugin version 3.0.1.

      Starting up this subsystem through the webconsole subsystem plugin of Apache Felix, following error is thrown:

      13.11.2015 22:01:23.849 ERROR [Thread-95] org.apache.sling.extensions.threaddump.internal.Activator Uncaught exception in Thread Thread[Thread-95,5,main]
      org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Uses constraint violation. Unable to resolve resource idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar] because it is exposed to package 'org.osgi.framework' from resources org.apache.felix.framework [org.apache.felix.framework [0](R 0)] and org.apache.felix.framework [org.apache.felix.framework [0](R 0)] via two dependency chains.

      Chain 1:
      idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
      import: (&(osgi.wiring.package=org.osgi.framework)(&(version>=1.5.0)(!(version>=2.0.0))))

      export: osgi.wiring.package: org.osgi.framework
      org.apache.felix.framework [org.apache.felix.framework [0](R 0)]

      Chain 2:
      idoneus.mdm-parser-core [/var/folders/h1/k9tr352j615f8jrrzh5yr5b80000gn/T/inputStreamExtract734624941409606295.zip/mdm-parser-core-1.0.0-SNAPSHOT.jar]
      import: (&(osgi.wiring.package=org.apache.sling.event.jobs.consumer)(&(version>=1.2.0)(!(version>=2.0.0))))

      export: osgi.wiring.package=org.apache.sling.event.jobs.consumer; uses:=org.osgi.service.event
      org.apache.sling.event [org.apache.sling.event [103](R 103.0)]
      import: (&(osgi.wiring.package=org.osgi.service.event)(version>=1.2.0)(!(version>=2.0.0)))

      export: osgi.wiring.package=org.osgi.service.event; uses:=org.osgi.framework
      org.apache.felix.eventadmin [org.apache.felix.eventadmin [9](R 9.0)]
      import: (&(osgi.wiring.package=org.osgi.framework)(version>=1.3.0)(!(version>=2.0.0)))

      export: osgi.wiring.package: org.osgi.framework
      org.apache.felix.framework [org.apache.felix.framework [0](R 0)]
      at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395)

      This does not happen when I install the api and core as seperate bundles in the OSGi container

      Attachments

        1. testcase.zip
          225 kB
          Roy Teeuwen
        2. Aries1452Test.java
          3 kB
          John Ross
        3. felix-framework-5.4.0.zip
          4.18 MB
          John Ross

        Issue Links

          Activity

            People

              jwross@us.ibm.com John Ross
              royteeuwen Roy Teeuwen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: