Tomcat启动:即使Web应用程序无法部署,报告也会成功

时间:2015-07-20 08:02:46

标签: java tomcat deployment

我正在使用以下方式开发Web服务:

  • Tomcat 7.0.57
  • Spring MVC 4.1.6
  • Linux Fedora 20

我通过将其作为ROOT上下文文件夹的扩展文件夹进行复制来部署我的Web应用程序。一切正常,但是当在Spring初始化期间无论出于何种原因(例如,在启动时连接到缓存服务),Web应用程序无法部署 Tomcat仍然报告成功启动消息:

INFO: Deployment of web application directory /opt/apache-tomcat-7.0.57/webapps/myapp/webapps/ROOT has finished in 20,547 ms
INFO: Server startup in 20591 ms

在相同的日志中,我之前可以看到异常堆栈跟踪,所以我意识到这是失败的:

INFO: Initializing Spring root WebApplicationContext
Jul 20, 2015 9:22:19 AM 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.BeanCreationException: Error creating bean with name 'createTokenResource': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: 
....
Jul 20, 2015 9:22:19 AM org.apache.catalina.core.StandardContext startInternal
SEVERE: Error listenerStart
SEVERE: Context [] startup failed due to previous errors

然后我想知道为什么Tomcat报告这两者都是部署错误和成功。我一直在研究Catalina HostConfig#deployDirectory的实现,似乎'默默地吞下'异常。

  1. 这是Tomcat的预期行为吗?
  2. 是否存在部署模式,如果我的ROOT应用程序无法部署,是否可以强制执行Tomcat启动错误?
  3. 这是在某些其他版本的Tomcat中改变/工作的吗?
  4. 我采取了错误的部署方法吗?
  5. 我对整个事情的关注错误了吗?
  6. 您可以假设此Web应用程序将是我的Tomcat服务器中运行的唯一应用程序。

0 个答案:

没有答案