首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpringBoot应用程序一直在重新启动(重新启动循环)- spring.devtools

SpringBoot应用程序一直在重新启动(重新启动循环)- spring.devtools
EN

Stack Overflow用户
提问于 2017-08-22 08:39:51
回答 3查看 12.7K关注 0票数 15

我有一个带有嵌入式tomcat的spring引导应用程序,如果类路径中发生了变化,可以使用spring devtools重新启动应用程序。

我的IDE是Spring,我切换了“自动构建”,因为我认为这会改变背景中的文件,从而触发重新启动

我的问题是,在tomcat和应用程序ist启动之后,立即重新启动无限循环中的所有内容:

代码语言:javascript
复制
2017-08-22 10:24:04.309  INFO 9772 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8055 (http)
2017-08-22 10:24:04.415 DEBUG 9772 --- [  restartedMain] o.s.boot.devtools.restart.Restarter      : Creating new Restarter for thread Thread[main,5,main]
2017-08-22 10:24:04.417 DEBUG 9772 --- [  restartedMain] o.s.boot.devtools.restart.Restarter      : Immediately restarting application
2017-08-22 10:24:04.418 DEBUG 9772 --- [  restartedMain] o.s.boot.devtools.restart.Restarter      : Created RestartClassLoader org.springframework.boot.devtools.restart.classloader.RestartClassLoader@558f3be6
2017-08-22 10:24:04.419 DEBUG 9772 --- [  restartedMain] o.s.boot.devtools.restart.Restarter      : Starting application test.web.MyApplication with URLs 
2017-08-22 10:24:04.421  INFO 9772 --- [  restartedMain] test.web.MyApplication                 : Started MyApplication in 22.347 seconds (JVM running for 24.103)
2017-08-22 10:24:05.524 DEBUG 9772 --- [   File Watcher] o.s.boot.devtools.restart.Restarter      : Restarting application
2017-08-22 10:24:05.527 DEBUG 9772 --- [       Thread-9] o.s.boot.devtools.restart.Restarter      : Stopping application
2017-08-22 10:24:05.527  INFO 9772 --- [       Thread-9] ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@68f499a9: startup date [Tue Aug 22 10:23:43 CEST 2017]; root of context hierarchy
2017-08-22 10:24:05.529  INFO 9772 --- [       Thread-9] o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
2017-08-22 10:24:05.537  INFO 9772 --- [       Thread-9] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'
2017-08-22 10:24:05.539  INFO 9772 --- [       Thread-9] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000227: Running hbm2ddl schema export
2017-08-22 10:24:05.567  INFO 9772 --- [       Thread-9] org.hibernate.tool.hbm2ddl.SchemaExport  : HHH000230: Schema export complete
2017-08-22 10:24:05.864  INFO 9772 --- [ost-startStop-2] org.apache.wicket.Application            : [wicket-filter] destroy: DevUtils DebugBar Initializer
...
2017-08-22 10:44:04.309  INFO 9772 --- [  restartedMain] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8055 (http)
...
2017-08-22 10:44:04.421  INFO 9772 --- [  restartedMain] test.web.MyApplication                 : Started MyApplication in 22.347 seconds (JVM running for 24.103)
2017-08-22 10:44:05.527 DEBUG 9772 --- [       Thread-9] o.s.boot.devtools.restart.Restarter      : Stopping application

Workaroud:我知道通过spring.devtools.restart.enabled = false,我可以停止这种行为,但是如果真的需要的话,我当然希望重启

问题:

  • 如何找出哪些文件更改触发重新启动?
  • 有人有类似的问题吗?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-01-25 14:18:45

好的,在应用程序启动几秒钟后,我发现了与通过Spring重新启动应用程序有关的问题。

日志文件文件夹由DevTools扫描,并且由于应用程序在启动后将日志写入该文件夹,因此每次启动都通过DevTools触发整个应用程序的重新加载。

解决方案是从application.yml中的监视中排除日志文件夹:

代码语言:javascript
复制
spring:
  devtools:
    restart:
      exclude: logs/**

如果您使用的是普通属性文件,则它与(.)一样。中间的点。参考另见http://www.logicbig.com/tutorials/spring-framework/spring-boot/restart-exclude/

票数 22
EN

Stack Overflow用户

发布于 2019-01-09 04:03:59

我添加了application.properties,然后它就正常工作了。TQ

代码语言:javascript
复制
spring.devtools.restart.additional-exclude=logs/**
票数 1
EN

Stack Overflow用户

发布于 2020-07-01 07:58:08

在IntelliJ Idea中

编辑运行/调试配置..。 ->选择Spring服务项(左侧面板),->设置运行应用程序更新策略:

  • 关于“更新”操作:什么都不做
  • 关于“帧失活”:什么都不做
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45812812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档