Github user gnodet commented on a diff in the pull request:
https://github.com/apache/activemq-artemis/pull/1307#discussion_r123559429
--- Diff: artemis-features/src/main/resources/features.xml ---
@@ -54,8 +54,8 @@
<bundle
dependency="true">mvn:org.jboss.logging/jboss-logging/${jboss.logging.version}</bundle>
<bundle
dependency="true">mvn:org.jgroups/jgroups/${jgroups.version}</bundle>
- <bundle
dependency="true">mvn:org.apache.geronimo.specs/geronimo-json_1.0_spec/${json-p.spec.version}</bundle>
- <bundle
dependency="true">mvn:org.apache.johnzon/johnzon-core/${johnzon.version}</bundle>
+ <bundle
dependency="true">mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.json-api-1.1/2.8-SNAPSHOT</bundle>
--- End diff --
So the servicemix specs rewrap the standard specs but add some specifics to
OSGi, i.e. each spec includes an OSGi activator which scans OSGi bundles for
providers of the specification by scanning the META-INF/services folder. It
will use the results of the scanning when a user uses the spec to create an
instance. In a J2SE env, this is done by the spec by looking at the classpath
and scanning META-INF/services, but in OSGi, the user package and the spec
package to not have visibility over those packages from the provider, so it
fails.
Geronimo specs actually do a somewhat similar thing, but in a somewhat
different way, in particular it requires an additional bundle to do the
scanning. The karaf ecosystem usually uses the servicemix specs instead.
Furthermore, in this very case, the OSGi metadata of the geronimo spec is
slightly broken and even if the additional bundle was deployed, the json spec
bundle would not be able to see it, so the provider loading mechanism in OSGi
can't work as is.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---