Hi,

When I'm trying to start the embedded tomcat server I'm getting following
exception. Could someone tell me why am I getting that? Did I missed
anything in configuration?
I'm using JDK 1.8 and tomcat 8.0.20

ERROR {org.apache.catalina.core.ContainerBase} -  A child container failed
> during start
> java.util.concurrent.ExecutionException:
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]]
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917)
> at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.catalina.LifecycleException: Failed to start
> component
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
> ... 6 more
> Caused by: org.apache.catalina.LifecycleException: Failed to initialize
> component [org.apache.catalina.webresources.StandardRoot@7658b991]
> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:139)
> at
> org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4840)
> at
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4970)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> ... 6 more
> Caused by: java.lang.Error: factory already defined
> at java.net.URL.setURLStreamHandlerFactory(URL.java:1105)
> at
> org.apache.catalina.webresources.TomcatURLStreamHandlerFactory.<init>(TomcatURLStreamHandlerFactory.java:122)
> at
> org.apache.catalina.webresources.TomcatURLStreamHandlerFactory.getInstanceInternal(TomcatURLStreamHandlerFactory.java:51)
> at
> org.apache.catalina.webresources.TomcatURLStreamHandlerFactory.register(TomcatURLStreamHandlerFactory.java:75)
> at
> org.apache.catalina.webresources.StandardRoot.registerURLStreamHandlerFactory(StandardRoot.java:677)
> at
> org.apache.catalina.webresources.StandardRoot.initInternal(StandardRoot.java:660)
> at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
> ... 10 more
> [2015-03-09 14:58:45,913] ERROR {org.apache.catalina.core.ContainerBase} -
>  A child container failed during start
> java.util.concurrent.ExecutionException:
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardEngine[Catalina].StandardHost[localhost]]
> at java.util.concurrent.FutureTask.report(FutureTask.java:122)
> at java.util.concurrent.FutureTask.get(FutureTask.java:192)
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:917)
> at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
> org.wso2.carbon.tomcat.ext.service.ExtendedStandardService.startInternal(ExtendedStandardService.java:49)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> at
> org.wso2.carbon.tomcat.internal.CarbonTomcat.start(CarbonTomcat.java:103)
> at
> org.wso2.carbon.tomcat.internal.ServerManager$1.run(ServerManager.java:99)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.catalina.LifecycleException: Failed to start
> component [StandardEngine[Catalina].StandardHost[localhost]]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1409)
> at
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1399)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> ... 1 more
> Caused by: org.apache.catalina.LifecycleException: A child container
> failed during start
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)
> at
> org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> ... 6 more
> [2015-03-09 14:58:45,914] ERROR
> {org.wso2.carbon.tomcat.internal.ServerManager} -  tomcat life-cycle
> exception
> org.apache.catalina.LifecycleException: Failed to start component
> [StandardServer[8005]]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
> at
> org.wso2.carbon.tomcat.internal.CarbonTomcat.start(CarbonTomcat.java:103)
> at
> org.wso2.carbon.tomcat.internal.ServerManager$1.run(ServerManager.java:99)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.apache.catalina.LifecycleException: Failed to start
> component [StandardService[Catalina]]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
> at
> org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:769)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> ... 3 more
> Caused by: org.apache.catalina.LifecycleException: Failed to start
> component [StandardEngine[Catalina]]
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
> at
> org.wso2.carbon.tomcat.ext.service.ExtendedStandardService.startInternal(ExtendedStandardService.java:49)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> ... 5 more
> Caused by: org.apache.catalina.LifecycleException: A child container
> failed during start
> at
> org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:925)
> at
> org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
> at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
> ... 7 more


I have extended the *StandardService *class and override the *startInternal
*method as follows

protected void startInternal() throws LifecycleException {
    if (log.isDebugEnabled()) {
        log.debug("starting extended standard service  :   " + this);
    }
    setState(LifecycleState.STARTING);
    // Start our defined Container first
    if (container != null) {
        synchronized (container) {
            container.start();
        }
    }
    synchronized (executors) {
        for (Executor executor : executors) {
            executor.start();
        }
    }
    mapperListener.start();
}

I debug the code and found out that container.start(); throws the
Exception. My *server.xml* file is as follows

<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">

  <Service 
className="org.wso2.carbon.tomcat.ext.service.ExtendedStandardService"
name="Catalina">

    <Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
                port="9763"
                redirectPort="9443"
                bindOnInit="false"
                maxHttpHeaderSize="8192"
                acceptorThreadCount="2"
                maxThreads="250"
                minSpareThreads="50"
                disableUploadTimeout="false"
                connectionUploadTimeout="120000"
                maxKeepAliveRequests="200"
                acceptCount="200"
                server="WSO2 Carbon Server"
                compression="on"
                compressionMinSize="2048"
                noCompressionUserAgents="gozilla, traviata"

compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg"
                URIEncoding="UTF-8"/>

    <Connector  protocol="org.apache.coyote.http11.Http11NioProtocol"
                port="9443"
                bindOnInit="false"
                sslProtocol="TLS"
                maxHttpHeaderSize="8192"
                acceptorThreadCount="2"
                maxThreads="250"
                minSpareThreads="50"
                disableUploadTimeout="false"
                enableLookups="false"
                connectionUploadTimeout="120000"
                maxKeepAliveRequests="200"
                acceptCount="200"
                server="WSO2 Carbon Server"
                clientAuth="false"
                compression="on"
                scheme="https"
                secure="true"
                SSLEnabled="true"
                compressionMinSize="2048"
                noCompressionUserAgents="gozilla, traviata"

compressableMimeType="text/html,text/javascript,application/x-javascript,application/javascript,application/xml,text/css,application/xslt+xml,text/xsl,image/gif,image/jpg,image/jpeg"

keystoreFile="${carbon.home}/repository/resources/security/wso2carbon.jks"
                keystorePass="wso2carbon"
                URIEncoding="UTF-8"/>



    <Engine name="Catalina" defaultHost="localhost">

      <!--Realm className="org.apache.catalina.realm.MemoryRealm"
pathname="${carbon.home}/repository/conf/tomcat/tomcat-users.xml"/-->

      <Realm className="org.wso2.carbon.tomcat.ext.realms.CarbonTomcatRealm"/>

      <Host name="localhost" unpackWARs="true" deployOnStartup="false"
autoDeploy="false"
appBase="${carbon.home}/repository/deployment/server/webapps/">
          <Valve
className="org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve"/>
          <Valve className="org.apache.catalina.valves.AccessLogValve"
directory="${carbon.home}/repository/logs"
               prefix="http_access_" suffix=".log"
               pattern="combined" />
          <Valve
className="org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve"
threshold="600"/>
          <Valve className="org.wso2.carbon.tomcat.ext.valves.CompositeValve"/>
      </Host>
    </Engine>
  </Service>
</Server>

-- 
Thusitha Dayaratne
Software Engineer
WSO2 Inc. - lean . enterprise . middleware |  wso2.com

Mobile  +94712756809
Blog      alokayasoya.blogspot.com
About    http://about.me/thusithathilina

Reply via email to