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