Fuse OSGI service not found when bundle explicitly declares that it exports the service

Solution In Progress - Updated -

Issue

We have a bundle that exports an OSGI service via Spring, we need to do this because the KIE namespace is only supported on Spring, not blueprint. We have another bundle that uses Blueprint that is supposed to use the OSGI service, however when we deploy the application it is unable to resolve the service.
Here is the error message we are getting when we try to deploy the application:

org.osgi.service.resolver.ResolutionException: Unable to resolve dummy/0.0.0: missing requirement [dummy/0.0.0] osgi.identity; osgi.identity=xxx; type=karaf.feature; version=0 [caused by: Unable to resolve xxx/1.0.0.SNAPSHOT: missing requirement [xxx/1.0.0.SNAPSHOT] karaf.feature; karaf.feature=xxx-kie; version=1.0.0 [caused by: Unable to resolve xxx-kie/1.0.0.SNAPSHOT: missing requirement [xxx-kie/1.0.0.SNAPSHOT] osgi.identity; osgi.identity=xxx-kie; type=osgi.bundle; version="[1.0.0.SNAPSHOT,1.0.0.SNAPSHOT]" [caused by: Unable to resolve xxx-kie/1.0.0.SNAPSHOT: missing requirement [xxx-kie/1.0.0.SNAPSHOT] service-reference; effective:=active; filter:="(&(objectClass=com.example.service)(xxx.name=xxx))"]]]
  at org.apache.felix.resolver.Candidates.populateResource(Candidates.java:285)
  at org.apache.felix.resolver.Candidates.populate(Candidates.java:153)
  at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:148)
  at io.fabric8.agent.DeploymentBuilder.resolve(DeploymentBuilder.java:226)
  at io.fabric8.agent.DeploymentAgent.doUpdate(DeploymentAgent.java:521)
  at io.fabric8.agent.DeploymentAgent$2.run(DeploymentAgent.java:252)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
  at java.util.concurrent.FutureTask.run(FutureTask.java:166)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
  at java.lang.Thread.run(Thread.java:722)

Environment

  • Red Hat JBoss Fuse
    • 6.1.0

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content