Why do you create a bundle from activemq? It already provides a ready to
use bundle.
If you want to know how to install it you can look at the apache karaf
feature for activemq below.
If you install these bundles you should be on the safe side.
What is hidden there is that it also needs some spring libs. Eventually
you can also leave out some of the bundles as they might be optional.
Christian
karaf@root()> feature:info activemq-client
Feature activemq-client 5.14.3
Description:
ActiveMQ client libraries
Feature has no configuration
Feature has no configuration files
Feature depends on:
spring [3.2,4)
Feature contains followed bundles:
mvn:org.apache.geronimo.specs/geronimo-annotation_1.0_spec/1.1.1
mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1
mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/1.1.1
mvn:org.apache.geronimo.specs/geronimo-j2ee-management_1.1_spec/1.0.1
mvn:org.jvnet.jaxb2_commons/jaxb2-basics-runtime/0.6.4
mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jaxb-impl/2.2.11_1
mvn:org.apache.commons/commons-pool2/2.4.2
mvn:commons-net/commons-net/3.5
mvn:org.apache.zookeeper/zookeeper/3.4.6
mvn:org.apache.xbean/xbean-spring/4.2
mvn:org.apache.activemq/activemq-osgi/5.14.3
Feature has no conditionals.
On 24.02.2017 09:26, Mestiri Meher wrote:
Hello Randy,
Actually I was able to bundle the activeMq broker, and I suggest you
to do it without the enRoute framework, the easiest way is by using
maven and the maven-bundle-plugin which will allow you to create a
bundle from a maven project.
It's very handy once you want to osgfy an existing project too.
So what you need is bringing up the broker dependencies and run it as
an embedded broker like how it aws explained in the activeMQ tuto
<http://activemq.apache.org/how-do-i-embed-a-broker-inside-a-connection.html>
Regards,
Meher
2017-02-24 9:09 GMT+01:00 Randy Leonard <randy.leonard....@gmail.com
<mailto:randy.leonard....@gmail.com>>:
I am having an issue getting Apache MQ to work with OSGi enRoute.
I’ve stripped it down to just the following bnd.bnd file:
———————————
Bundle-Version:1.0.0.${tstamp}
Bundle-Description: This is my description
Private-Package: com.xyz.event.mq.producer.provider
-buildpath: \
osgi.enroute.base.api;version=1.0,\
javax.jms-api,\
org.apache.activemq.activemq-osgi,\
com.xyz.event.mq.producer.api;version=latest
-testpath: osgi.enroute.junit.wrapper;version=4.12
-includeresource: {readme.md <http://readme.md>}
-runrequires: \
osgi.identity;filter:='(osgi.identity=org.apache.activemq.activemq-osgi)',\
osgi.identity;filter:='(osgi.identity=javax.annotation-api)',\
osgi.identity;filter:='(osgi.identity=org.objectweb.asm)',\
osgi.identity;filter:='(&(osgi.identity=org.apache.felix.gogo.runtime)(version>=1.0.0))',\
osgi.identity;filter:='(&(osgi.identity=org.apache.felix.gogo.shell)(version>=1.0.0))',\
osgi.identity;filter:='(&(osgi.identity=org.apache.felix.gogo.command)(version>=1.0.0))',\
osgi.identity;filter:='(osgi.identity=org.apache.felix.scr)',\
osgi.identity;filter:='(&(osgi.identity=org.osgi.service.blueprint)(version>=1.0.2.201505202024))’
osgi.identity;filter:='(osgi.identity=com.xyz.event.mq
<http://com.xyz.event.mq>.producer.provider)'
-runbundles: \
com.xyz.event.mq.producer.provider;version=snapshot,\
org.apache.felix.configadmin;version='[1.8.8,1.8.9)',\
org.apache.felix.log;version='[1.0.1,1.0.2)',\
org.apache.felix.scr;version='[2.0.2,2.0.3)',\
org.eclipse.equinox.metatype;version='[1.4.100,1.4.101)',\
org.osgi.service.metatype;version='[1.3.0,1.3.1)'
Export-Package: \
com.xyz.event.mq.producer.api,\
com.xyz.event.mq.producer.api.dto
———————————
But I am still getting the following resolution errors:
———————————
Unable to resolve <<INITIAL>> version=null:
missing requirement com.xyz.event.mq.producer.provider
-> Unable to resolve com.xyz.event.mq.producer.provider
version=1.0.0.201702240740:
missing requirement org.apache.activemq;
version=[5.14.0,6.0.0)
-> Unable to resolve org.apache.activemq.activemq-osgi
version=5.14.3:
missing requirement org.osgi.service.blueprint;
version=[1.0.0,2.0.0)]]
———————————
This is confusing, as:
- 'org.apache.activemq.activemq-osgi' should resolve
‘ org.apache.activemq; version=[5.14.0,6.0.0)’
- ‘org.osgi.service.blueprint’ should certainly resolve
'org.osgi.service.blueprint; version=[1.0.0,2.0.0)]]'
Curious if anyone has been successful with Apache MQ within
enRoute and could share some ideas?
Thanks,
Randy
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org <mailto:osgi-dev@mail.osgi.org>
https://mail.osgi.org/mailman/listinfo/osgi-dev
<https://mail.osgi.org/mailman/listinfo/osgi-dev>
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
http://www.talend.com
_______________________________________________
OSGi Developer Mail List
osgi-dev@mail.osgi.org
https://mail.osgi.org/mailman/listinfo/osgi-dev