【问题标题】:Tomcat server taking very long time to loadTomcat 服务器需要很长时间才能加载
【发布时间】:2017-08-02 17:29:19
【问题描述】:

我在前端编程方面相当初级。我对使用 Javascript/react 等感到有点自在,但我真的不知道任何服务器端(我知道 tomcat/servers 但没什么意义)。我的团队也是如此

我有一个想要了解的网络应用程序。对于开发,我使用 Intellij 运行(我认为是两个 tomcat 服务器?)一个应用程序,以及该应用程序的 UI,都是服务器端(我认为这是因为我看到两个本地主机)

长话短说,运行这些需要很长时间(都需要 +105 秒)。即使我可以通过同时运行两者来节省时间,我也想尝试了解为什么需要这么长时间。

通过控制台,在我的水平上都是胡言乱语,但是通过计时器,我看到两个动作正在完成,大约 70 秒

2017-08-03 00:56:21 9556 [main] INFO o.s.b.c.e.AnnotationConfigEmbeddedWebApplicationContext - Refreshing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6743e411: startup date [Thu Aug 03 00:56:21 SGT 2017]; root of context hierarchy
2017-08-03 00:56:27 9556 [main] INFO  o.s.b.f.s.DefaultListableBeanFactory - Overriding bean definition for bean 'dataSource' with a different definition: replacing [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari; factoryMethodName=dataSource; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]] with [Root bean: class [null]; scope=; abstract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Tomcat; factoryMethodName=dataSource; initMethodName=null; destroyMethodName=(inferred); defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Tomcat.class]]
.
.
.
2017-08-03 00:56:45 9556 [main] INFO  o.h.h.i.QueryTranslatorFactoryInitiator - HHH000397: Using ASTQueryTranslatorFactory
DmeInitializer.initialize Application initialized
2017-08-03 00:57:51 9556 [main] INFO  c.f.f.c.s.t.pools.RulesManager - Compiling processing rules for Compare 26

如果它也很重要,根据日志,

2017-08-03 00:56:29 9556 [main] INFO  o.a.catalina.core.StandardEngine - 
Starting Servlet Engine: Apache Tomcat/8.5.4

任何人都可以就如何减少这些的运行时间提供任何建议吗?这非常重要,因为除非我重新启动 UI servlet,否则我在 UI 中所做的任何更改都不会得到反映

问题的另一部分是我不熟悉 Gradle(某种似乎与 servlet 配置相关的项目经理),这使事情变得更加困难。在 intellij 中,除了定义工作区和一些自定义配置(通过 VM 选项)之外,看起来还定义了某种类。我计划找到并调查它,尽管我认为它不会导致任何加速

【问题讨论】:

    标签: tomcat servlets intellij-idea tomcat8


    【解决方案1】:

    半解决了我的问题 我点击了这个链接: https://dzone.com/articles/spring-boot-application-live-reload-hot-swap-with (必须改变第一步来做同样的事情,但使用 gradle 即添加

    compile("org.springframework.boot:spring-boot-devtools")
    

    到 gradle.build(正确的,不是随机的)。

    然后在完成其余步骤后,将此行添加到 application.properties:

    spring.thymeleaf.cache= false
    

    那么在运行 tomcat servlet 时,不要只运行它们,你需要在调试模式下运行它们

    完成上述所有操作后,它的工作原理是: 当 servlet 在 intellij 中运行时 - 改变你的 UI 代码 -保存它(在我的情况下,我使用的是记事本++而不是intellij - 返回intellij(只需将窗口聚焦) - 然后返回浏览器并刷新浏览器

    现在我每次进行更改时都需要等待 100 秒,而我只需要在开始时等待 100 秒,并且它的

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-24
      • 1970-01-01
      • 1970-01-01
      • 2017-09-02
      • 2021-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多