Uploaded image for project: 'ActiveMQ'
  1. ActiveMQ
  2. AMQ-3727

activemq-web-console: AjaxServlet not working in OSGi container

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.5.1
    • Fix Version/s: 5.7.0
    • Component/s: None
    • Labels:
      None
    • Environment:

      Apache Karaf 2.2.4/ServiceMix 4.4.0

      Description

      Installing activemq-web-console as a bundle in a ServiceMix container

      osgi:install mvn:org/apache/activemq/activemq-web-console

      registers the AjaxServlet under http://<baseurl>/activemqweb/ajax but trying to access it fails with a ClassNotFoundError:

      java.lang.NoClassDefFoundError: org/eclipse/jetty/continuation/ContinuationSupport
      at org.apache.activemq.web.MessageListenerServlet.doMessages(MessageListenerServlet.java:304)[163:org.apache.activemq.activemq-web-console:5.5.1]
      at org.apache.activemq.web.MessageListenerServlet.doGet(MessageListenerServlet.java:241)[163:org.apache.activemq.activemq-web-console:5.5.1]
      at org.apache.activemq.web.AjaxServlet.doGet(AjaxServlet.java:47)[163:org.apache.activemq.activemq-web-console:5.5.1]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:538)[97:org.eclipse.jetty.servlet:7.4.5.v20110725]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1352)[97:org.eclipse.jetty.servlet:7.4.5.v20110725]
      at org.apache.activemq.web.SessionFilter.doFilter(SessionFilter.java:45)[163:org.apache.activemq.activemq-web-console:5.5.1]
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1323)[97:org.eclipse.jetty.servlet:7.4.5.v20110725]
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:476)[97:org.eclipse.jetty.servlet:7.4.5.v20110725]
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:70)[111:org.ops4j.pax.web.pax-web-jetty:1.0.7]
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:119)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:480)[99:org.eclipse.jetty.security:7.4.5.v20110725]
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:225)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:937)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:116)[111:org.ops4j.pax.web.pax-web-jetty:1.0.7]
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:406)[97:org.eclipse.jetty.servlet:7.4.5.v20110725]
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:871)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:72)[111:org.ops4j.pax.web.pax-web-jetty:1.0.7]
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.server.Server.handle(Server.java:342)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:589)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:1048)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:601)[100:org.eclipse.jetty.http:7.4.5.v20110725]
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:214)[100:org.eclipse.jetty.http:7.4.5.v20110725]
      at org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:411)[96:org.eclipse.jetty.server:7.4.5.v20110725]
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:535)[98:org.eclipse.jetty.io:7.4.5.v20110725]
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:40)[98:org.eclipse.jetty.io:7.4.5.v20110725]
      at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:529)[108:org.eclipse.jetty.util:7.4.5.v20110725]
      at java.lang.Thread.run(Thread.java:662)[:1.6.0_23]
      Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.continuation.ContinuationSupport not found by org.apache.activemq.activemq-web-console [163]
      at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:787)[org.apache.felix.framework-3.0.9.jar:]
      at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)[org.apache.felix.framework-3.0.9.jar:]
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)[org.apache.felix.framework-3.0.9.jar:]
      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)[:1.6.0_23

      Adding "org.eclipse.jetty.continuation;resolution:=optional" to the Import-Package: statement in MANIFEST.MF/Import-Package element in pom.xml of activemq-web-console fixes it.

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              themel Thomas Themel
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: