Hello Tobias,
You are right, its not a duplicate package at runtime.
I have ran karaf locally to confirm behavior and I could see "is not instance" errors on all servlets, not only Spring. It boils down to the spec version shipped by default in Karaf, which is jakarta.servlet/jakarta.servlet-api/4.0.4. By installing jakarta.servlet/jakarta.servlet-api/5.0.0 you ship jakarta.servlet needed by activemq-web, but pax-web (which embeds Jetty in Karaf) still expects javax.servlet and links to spec 4.0.4. Since activemq-web is deployed as WAR (WAB) pax web scans web.xml while runtime parses OSGi headers in WAR manifest which points to jakarta.servlet;version="[5,6)". You effectively got an incompatible runtime. I've got a slightly different failure with later release of pax-web (11.x), however runtime still keeps track on older one. Overall you may need a re-assembly of Karaf to pull later release of pax-web which rely on jakarta namespace. For this I believe its better to consult karaf mailing list rather than activemq.

Kind regards,
Łukasz

On 7/6/26 19:34, Tobias Hein wrote:
Hi Lukasz,

I'm not sure, if you are right. I don't expect multiple javax.servlet- packages, because org.springframework.web.servlet.DispatcherServlet is a jakarta.servlet.Servlet.

Watching all dependencies, that are required in feature:info activemq- broker, I get the following:

On the one hand, feature:info activemq-broker leads to the dependent features

activemq-web-console -> war -> pax-web-http-war -> pax-web

At the end, this provides javax.servlet

On the other hand, the bundle mvn:org.apache.activemq/activemq-web- console/6.2.7/war requires jakarta.servlet

Is this resolvable?

Kind regards,
Tobias Hein

Am So., 5. Juli 2026 um 09:25 Uhr schrieb Łukasz Dywicki <luke@code- house.org <mailto:[email protected]>>:

    Hello Tobias,
    While I did not trace issue by myself I suspect that it may be
    caused by
    multiple javax.servlet packages available at runtime which are in the
    end wired to different bundles. Karaf (Pax-Web) uses one, but ActiveMQ
    console bundle uses other, leading to two separate Servlet class
    instances being present. Effectively Karaf (Pax-Web) refuses spring
    servlet, because it uses another (bundle) classloader for specification
    classes.

    Kind regards,
    Łukasz Dywicki

    On 7/3/26 17:52, Tobias Hein wrote:
     > Hello everybody,
     >
     > in an OSGi-application running with JDK-21 on apache karaf 4.4.11
    I use an
     > activemq-broker 6.2.7. This works as expected if I install the
     > karaf-feature karaf-broker-noweb.
     >
     > But I am not able to install karaf-broker, which includes the
     > admin-webconsole. First of all there are missing dependencies and
    if I
     > resolve them manually, I get a mismatch between javax.servlet
    (provided by
     > karaf) and jakarta.servlet (required by activemq)
     >
     > Is there any chance to get the webconsole running on apache karaf
    in the
     > current versions?
     >
     > How to reproduce in a kind of summary
     >
     > * download current Karaf OSGi Runtime https://karaf.apache.org/
    download.html <https://karaf.apache.org/download.html>
     > * unzip and start karaf with ./bin/karaf
     > * execute the the following commands in the karaf console
     > ** .feature:repo-add activemq 6.2.7
     > ** bundle:install mvn:jakarta.servlet.jsp/jakarta.servlet.jsp-
    api/3.0.0
     > ** bundle:install mvn:jakarta.el/jakarta.el-api/4.0.0
     > ** bundle:install mvn:jakarta.servlet/jakarta.servlet-api/5.0.0
     > ** feature:install activemq-broker
     >
     > After that I see the following error in the log-file ./data/logs/
    karaf.log
     >
     > javax.servlet.UnavailableException: Servlet class
     > org.springframework.web.servlet.DispatcherServlet is not a
     > javax.servlet.Servlet
     >
     > I installed the jakarta-bundles first, because they are missing
     > dependencies of activemq-broker. They are needed for the bundle-
    wiring
     >
     > If you need more details, just ask :-)
     >
     > Kind regards
     > Tobias Hein
     >



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact


Reply via email to