Hello ActiveMQ community,

I am trying to run ActiveMQ on Apache Karaf without much success. Since I'm
not very experienced with Karaf, I was wondering if anyone has any advice
on what I could be doing wrong. This is what I'm doing:

Installing ActiveMQ 6.2.0 fails because some dependencies are missing:

```
karaf@root()> feature:repo-add
mvn:org.apache.activemq/activemq-karaf/6.2.0/xml/features
karaf@root()> feature:install activemq-broker

Error executing command: Unable to resolve root: missing requirement [root]
osgi.identity; osgi.identity=activemq-broker; type=karaf.feature;
version="[6.2.0,6.2.0]";
filter:="(&(osgi.identity=activemq-broker)(type=karaf.feature)(version>=6.2.0)(version<=6.2.0))"
[caused by: Unable to resolve activemq-broker/6.2.0: missing requirement
[activemq-broker/6.2.0] osgi.identity; osgi.identity=activemq-web-console;
type=karaf.feature; version="[6.2.0,6.2.0]" [caused by: Unable to resolve
activemq-web-console/6.2.0: missing requirement
[activemq-web-console/6.2.0] osgi.identity;
osgi.identity=org.apache.activemq.web-console; type=osgi.bundle;
version="[6.2.0,6.2.0]"; resolution:=mandatory [caused by: Unable to
resolve org.apache.activemq.web-console/6.2.0: missing requirement
[org.apache.activemq.web-console/6.2.0] osgi.wiring.package;
filter:="(&(osgi.wiring.package=jakarta.servlet.jsp.tagext)(version>=3.0.0)(!(version>=4.0.0)))"
[caused by: Unable to resolve jakarta.servlet.jsp-api [54](R 54.0): missing
requirement [jakarta.servlet.jsp-api [54](R 54.0)] osgi.wiring.package;
(&(osgi.wiring.package=jakarta.el)(version>=4.0.0)(!(version>=5.0.0)))]]]]
```

Fixed by installing the missing dependencies manually:

```
karaf@root()> bundle:install
mvn:jakarta.servlet.jsp/jakarta.servlet.jsp-api/3.0.0
karaf@root()> bundle:install mvn:jakarta.el/jakarta.el-api/4.0.0
karaf@root()> bundle:install mvn:jakarta.servlet/jakarta.servlet-api/5.0.0
```

And ActiveMQ starts! However I see some errors in the logs:

```
org.eclipse.jetty.util.MultiException: Multiple exceptions
at
org.eclipse.jetty.util.MultiException.ifExceptionThrow(MultiException.java:122)
~[!/:9.4.57.v20241219]
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:776)
~[!/:9.4.57.v20241219]
at
org.ops4j.pax.web.service.jetty.internal.PaxWebServletHandler.initialize(PaxWebServletHandler.java:164)
~[!/:?]
...
Suppressed: java.lang.IllegalStateException: class
org.apache.activemq.web.filter.ApplicationContextFilter is not a
javax.servlet.Filter
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:103)
~[!/:9.4.57.v20241219]
at
org.ops4j.pax.web.service.jetty.internal.PaxWebFilterHolder.doStart(PaxWebFilterHolder.java:136)
~[!/:?]
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:73)
~[!/:9.4.57.v20241219]
at
org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:749)
~[!/:9.4.57.v20241219]
at
java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992)
~[?:?]
at
java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
~[?:?]
at
java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
~[?:?]
at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:774)
~[!/:9.4.57.v20241219]

(follows similar exceptions mentioning other classes)
```

I then tried ActiveMQ 5.19.1 instead, but could not successfully install it:

```
karaf@root()> feature:repo-add
mvn:org.apache.activemq/activemq-karaf/5.19.1/xml/features
karaf@root()> feature:install activemq-client/5.19.1
org.apache.felix.resolver.reason.ReasonException: Unable to resolve root:
missing requirement [root] osgi.identity; osgi.identity=activemq-client;
type=karaf.feature; version="[5.19.1,5.19.1]";
filter:="(&(osgi.identity=activemq-client)(type=karaf.feature)(version>=5.19.1)(version<=5.19.1))"
[caused by: Unable to resolve activemq-client/5.19.1: missing requirement
[activemq-client/5.19.1] osgi.identity; osgi.identity=spring;
type=karaf.feature; version="[5.0.0,6.0.0)"]
at
org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:433)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:420)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:374)
at
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:256)
at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399)
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to
resolve activemq-client/5.19.1: missing requirement
[activemq-client/5.19.1] osgi.identity; osgi.identity=spring;
type=karaf.feature; version="[5.0.0,6.0.0)"
at
org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
... 12 more
```

Tried to install activemq-client:

```
karaf@root()> feature:install activemq-client/5.19.1
org.apache.felix.resolver.reason.ReasonException: Unable to resolve root:
missing requirement [root] osgi.identity; osgi.identity=activemq-client;
type=karaf.feature; version="[5.19.1,5.19.1]";
filter:="(&(osgi.identity=activemq-client)(type=karaf.feature)(version>=5.19.1)(version<=5.19.1))"
[caused by: Unable to resolve activemq-client/5.19.1: missing requirement
[activemq-client/5.19.1] osgi.identity; osgi.identity=spring;
type=karaf.feature; version="[5.0.0,6.0.0)"]
at
org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:433)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:420)
at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:374)
at
org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:256)
at
org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:399)
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069)
at
org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to
resolve activemq-client/5.19.1: missing requirement
[activemq-client/5.19.1] osgi.identity; osgi.identity=spring;
type=karaf.feature; version="[5.0.0,6.0.0)"
at
org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1341)
... 12 more
Error executing command: Unable to resolve root: missing requirement [root]
osgi.identity; osgi.identity=activemq-client; type=karaf.feature;
version="[5.19.1,5.19.1]";
filter:="(&(osgi.identity=activemq-client)(type=karaf.feature)(version>=5.19.1)(version<=5.19.1))"
[caused by: Unable to resolve activemq-client/5.19.1: missing requirement
[activemq-client/5.19.1] osgi.identity; osgi.identity=spring;
type=karaf.feature; version="[5.0.0,6.0.0)"]
```

Again, appreciate any advice.

Regards,
Sérgio Lemos

Reply via email to