The mq-fabric bundle by default exposes an ActiveMQConnectionFactory into the OSGi service registry. Other messaging applications can easily import this connection factory and use it.
The standard Blueprint service import for a JMS ConnectionFactory looks like
<reference id="amqFactory" interface="javax.jms.ConnectionFactory" availability="mandatory"/>
uses
@Service(ActiveMQConnectionFactory.class) @Component(name = "io.fabric8.mq.fabric.cf", label = "Fabric8 ActiveMQ Connection Factory Service", immediate = true, configurationFactory = true, metatype = true) public class ActiveMQConnectionFactoryService extends ActiveMQConnectionFactory {
and exposes this ConnectionFactory instance only under its actual class but not under its interface in the OSGi Service Registry.
As a result the blueprint based service import does not satisfy and times out.