Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-186

Issue with org.apache.catalina.connector.Connector

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Critical
    • 7.0.0.Beta2
    • 7.0.0.Beta1
    • Web
    • None

    Description

      Problem occurs during JBoss startup.

      16:43:00,465 ERROR [org.jboss.msc] (pool-1-thread-3) MSC-00001: Failed to start service jboss.web.connector.http: org.jboss.msc.service.StartException in service jboss.web.connector.http: Failed to start service
      at org.jboss.msc.service.ServiceInstanceImpl$StartTask.run(ServiceInstanceImpl.java:1207)
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_20]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_20]
      at java.lang.Thread.run(Thread.java:619) [:1.6.0_20]
      Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.tomcat.jni.OS
      at org.apache.tomcat.util.net.AprEndpoint.init(AprEndpoint.java:573)
      at org.apache.coyote.http11.Http11AprProtocol.init(Http11AprProtocol.java:115)
      at org.apache.catalina.connector.Connector.initialize(Connector.java:1018)
      at org.apache.catalina.core.StandardService.addConnector(StandardService.java:351)
      at org.jboss.as.web.WebServerService.addConnector(WebServerService.java:124)
      at org.jboss.as.web.WebConnectorService.start(WebConnectorService.java:90)
      at org.jboss.msc.service.ServiceInstanceImpl$StartTask.run(ServiceInstanceImpl.java:1163)
      ... 3 more
      IMHO problem is that org.apache.catalina.connector.Connector exposes method setProtocol whereas protocolHandler instantiation is being conducted in constructor, so method setProtocol is kind of meaningless.
      I have found that in jboss-as-web module, Connector is being created ( with protocolHandler initialized during object creation ) and then protocol is set using setProtocol which actually doesn't change appropriate protocolHandler.

      In other words, if I will create Connector using constructor without any params, it will guess protocolHandler and then I will set my favourite protocol it won't affect my procotol handler.
      Having this I can get the situation where I will have protocolHandler: "org.apache.coyote.http11.Http11AprProtocol" and protocol: "org.apache.coyote.ajp.AjpAprProtocol"

      Attachments

        Activity

          People

            rmaucher Remy Maucherat
            osgi-ready Krzysztof Maslak (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: