`

89. Spring boot devtools使用异常【从零开始学Spring Boot】

阅读更多

 

【视频&交流平台】

à SpringBoot视频

http://study.163.com/course/introduction.htm?courseId=1004329008&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à SpringCloud视频

http://study.163.com/course/introduction.htm?courseId=1004638001&utm_campaign=commission&utm_source=400000000155061&utm_medium=share

à Spring Boot源码

https://gitee.com/happyangellxq520/spring-boot

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

springboot + devtools(热部署)【从零开始学Spring Boot

章节中我们已经介绍了spring boot中使用devtools的基本步骤以及一些注意事项了,本节针对于网友的一些问题,在总结出一些注意点,以及在实际开发中一些重要的地方。

       问题的提出:

       devtools中在编写一个普通的程序时,都是能够运行的很正常的,但是和其它进行一起运行的时候,可能就会出现各种各样的问题了,比如:登录之后,然后修改了一些代码之后devtoolsrestart,然后重新一访问又重新登录了。

1devtools restart session设置为restart之后依然存在

       如果restart之后session失效的话,那么就会造成需要重新登录问题,这个问题很好解决,只需要在application.properties添加如下配置:

server.session.persistent=true

注意在spring boot 1.3.3 / 1.4.0默认就是true

 

2)修改模板文件restart不生效

       模板文件不生效主要是由于模板有缓存,只要把缓存给关闭即可,配置application.properties文件:

#模板引擎:thymeleaf;

spring.thymeleaf.cache=false

#Javascript 语言的模板引擎:Mustache

spring.mustache.cache=false

#模板引擎:velocity

spring.velocity.cache=false

#groovy模板

spring.groovy.template.cache

 

3 causing ClassCastException while getting from cache.

       当在使用缓存的时候,可能就会抛出如上的异常信息了,这是devtools已知的限制。当缓存条目被反序列化时,对象无法附加到合适的类加载器。

       有一些方法可以修复这样的问题:

1)当运行在开发环境的时候,禁用缓存,配置spring.cache.type=NONE

2)使用一个不同的缓存管理器(假如你正在使用spring boot 1.3,你能够强制使用simple cache manager通过在application-dev.properties配置spring.cache.type,并且使用在你的IDE中启用dev profile

3)在应用程序类加载器配置缓存,这种比较复杂,需要新建META-INF/spring-devtools.properties

文件进行配置,支持restart.exclude. and restart.include.

例如:

restart.include.companycommonlibs=/mycorp-common-[\\w-]+\.jar

restart.include.projectcommon=/mycorp-myproj-[\\w-]+\.jar

 

 

       好了使用devtools还是有好多坑的,还是希望官方在这方面能够多下功夫,比如如果能支持指定某一些类不重新加载等等的这样的配置或者整个加载器能够编写的更加强大就好了。

视频&交流平台

à SpringBoot网易云课堂视频

http://study.163.com/course/introduction.htm?courseId=1004329008

à Spring Boot交流平台

http://412887952-qq-com.iteye.com/blog/2321532

 

 

分享到:
评论
1 楼 1988南墙之南 2017-11-17  
这东西和mybatis的一款名为mapper3的插件冲突,会出现同一个类不能强制转化的错

相关推荐

Global site tag (gtag.js) - Google Analytics