Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-4411

activemq-osgi <Bundle-NativeCode> directive is too strict - needs to be optional

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 5.8.0
    • 5.9.0
    • Broker
    • None

    Description

      When the bundle is used on a platform where we don't have native libs we fail with:

      2013-03-27 14:19:47,241 | ERROR | Thread-6         | FeaturesServiceImpl              | s.internal.FeaturesServiceImpl$2 1143 | 20 - org.apache.karaf.features.core - 2.3.0 | Error installing boot features
      java.lang.Exception: Could not start bundle mvn:org.apache.activemq/activemq-osgi/5.9-SNAPSHOT in feature(s) activemq-client-5.9-SNAPSHOT: Unresolved constraint in bundle org.apache.activemq.activemq-osgi [87]: No matching native libraries found.
              at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:476)[20:org.apache.karaf.features.core:2.3.0]
              at org.apache.karaf.features.internal.FeaturesServiceImpl$2.run(FeaturesServiceImpl.java:1141)[20:org.apache.karaf.features.core:2.3.0]
      Caused by: org.osgi.framework.BundleException: Unresolved constraint in bundle org.apache.activemq.activemq-osgi [87]: No matching native libraries found.
              at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:3826)[org.apache.felix.framework-4.0.3.jar:]
              at org.apache.felix.framework.Felix.startBundle(Felix.java:1868)[org.apache.felix.framework-4.0.3.jar:]
              at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:944)[org.apache.felix.framework-4.0.3.jar:]
              at org.apache.felix.framework.BundleImpl.start(BundleImpl.java:931)[org.apache.felix.framework-4.0.3.jar:]
              at org.apache.karaf.features.internal.FeaturesServiceImpl.installFeatures(FeaturesServiceImpl.java:473)[20:org.apache.karaf.features.core:2.3.0]
              ... 1 more
      

      Adding a '*' clause to <Bundle-NativeCode> sorts this. levelDB will fallback to the java impl in cases where the jni deps are not found. But also, it allows the bundle to used with the default store where there are no native deps at all.

      Attachments

        Activity

          People

            gtully Gary Tully
            gtully Gary Tully
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: