Tomcat重新部署不完全重新加载webapp

时间:2018-01-23 15:16:50

标签: java tomcat spring-boot

使用Apache Tomcat / 8.5.24,运行Spring Boot应用程序。

当我们使用tomcat管理器页面并点击" Reload"在我们的网络应用程序上,该应用程序不会重新加载。 catalina.out表示已经重新加载了上下文,但Spring并未触发,我们的终端也没有响应。为了获得真正的重新加载,我们必须完全取消部署Web应用程序并从头开始重新部署,这不太理想。

首次部署应用时,我会熟悉

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v1.4.2.RELEASE)

启动画面以及所有关联的控制器绑定和bean创建日志。但是,当我点击"重新加载"时,我得到了这个

23-Jan-2018 15:13:17.235 INFO [https-jsse-nio-8443-exec-10] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/myapp] has started
23-Jan-2018 15:13:17.237 INFO [https-jsse-nio-8443-exec-10] org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext.doClose Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@283650df: startup date [Tue Jan 23 15:11:39 UTC 2018]; root of context hierarchy
23-Jan-2018 15:13:17.246 INFO [https-jsse-nio-8443-exec-10] org.springframework.context.support.DefaultLifecycleProcessor.stop Stopping beans in phase 2147483647
23-Jan-2018 15:13:17.247 INFO [https-jsse-nio-8443-exec-10] org.springframework.jmx.export.annotation.AnnotationMBeanExporter.destroy 
Unregistering JMX-exposed beans on shutdown
System is shutting down
23-Jan-2018 15:13:17.428 INFO [https-jsse-nio-8443-exec-10] org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor.shutdown Shutting down ExecutorService 'getAsyncExecutor'
23-Jan-2018 15:13:17.542 INFO [https-jsse-nio-8443-exec-10] org.apache.catalina.core.StandardContext.reload Reloading Context with name [/myapp] is completed

就是这样。

我们正在使用外部jar,在context.xml文件中定义如下:

<?xml version="1.0" encoding="UTF-8"?>

<Context path="/myapp" docBase="/myapp" reloadable="true">
    <Resources>
        <!-- Load the configuration files -->

        <!-- Location of external log4j2 configuration file -->
        <PreResources className="org.apache.catalina.webresources.DirResourceSet"
            base="/mycompany/libs/config/"
            webAppMount="/WEB-INF/classes" />

        <!-- Location of the JARs -->
        <JarResources className="org.apache.catalina.webresources.DirResourceSet"
            base="/mycompany/libs/application_core/"
            webAppMount="/WEB-INF/lib" />
        <JarResources className="org.apache.catalina.webresources.DirResourceSet"
            base="/mycompany/libs/application_supplemental/"
            webAppMount="/WEB-INF/lib" />
        <JarResources className="org.apache.catalina.webresources.DirResourceSet"
            base="/mycompany/libs/third_party/"
            webAppMount="/WEB-INF/lib" />
    </Resources>
</Context>

在我们转移到这个结构之前,这不是一个问题所以我认为它与这个配置有关但我对tomcat的所有东西并不是非常熟悉,我不确定在哪里看

0 个答案:

没有答案