代码改变世界

[Tomcat报错]SEVERE: Error listenerStart

2018-01-29 18:08  TankDBA  阅读(5656)  评论(0编辑  收藏  举报

系统版本:CentOS 6.6 x64

java版本:1.7.0_55

 

问题描述:

迁移Tomcat工程启动后日志出现报错,内容如下:

Jan 20, 2018 7:02:50 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
Jan 20, 2018 7:02:49 PM org.apache.catalina.core.StandardContext startInternal
SEVERE: Context [] startup failed due to previous errors
Jan 20, 2018 7:02:49 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8680"]
Jan 20, 2018 7:02:49 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 30535 ms

从以上内容中并不能获得到关键信息,其中只提示了有错误存在却没有说明故障点,此时需要修改日志级别来打印更多的信息来帮助我们排错,方法如下。

 

解决方案:

在tomcat工程中的classes路径下,在文件logging.properties中添加如下内容,如没有该文件则直接创建。

handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler  
org.apache.juli.FileHandler.level = FINE  
org.apache.juli.FileHandler.directory = ${catalina.base}/logs  
org.apache.juli.FileHandler.prefix = error-debug.   
java.util.logging.ConsoleHandler.level = FINE  
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

接下来重启Tomcat,然后再查看日志,我所遇到的问题如下:

Jan 20, 2018 7:07:20 PM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'dataSourceHbe' defined in file
[/root/svn/busservice/WebContent/WEB-INF/classes/applicationContext_hbe.xml]: Could not resolve placeholder 'hbe.driver' in string value "${hbe.driver}"
    at org.springframework.beans.factory.config.PlaceholderConfigurerSupport.doProcessProperties(PlaceholderConfigurerSupport.java:209)
    at org.springframework.beans.factory.config.PropertyPlaceholderConfigurer.processProperties(PropertyPlaceholderConfigurer.java:220)
    at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:84)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:694)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:669)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:461)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

 

通过以上信息确认问题是出现在数据库连接上,将连接信息重新修改后重启Tomcat,“SEVERE: Error listenerStart”没有再次出现。

 

总结:

  以上介绍了在排错中可以通过修改Tomcat日志级别的方式来获取更多的日志信息,进而帮助我们排错,而具体的问题就要结合实际情况去确认,并非导致“SEVERE: Error listenerStart”的原因都一致。

 

参考资料:

http://blog.csdn.net/wsm0712syb/article/details/50946409

 

-The End-

 

Tank

20180129