我写了个脚本试了一下,麻了。。。。。
1
gzk329 OP 改动需要外置,就是这个 springboot 的程序 jar 包不能动
|
2
sss15 310 天前
nacos 配置中心动态刷新 可能是你需要的
|
3
selca 310 天前
你把参数做成单例的变量呗
|
4
gzk329 OP java -jar springboot.jar --conf=value 每次变化的就是 value ,但是 spring 项目启动太慢了,想加快这个速度。但是这个 springboot.jar 又不是我的,所以对其内部的改动最好不要很大。
|
5
Foxkeh 310 天前
这边建议您升级电脑配置
|
6
bill110100 310 天前
配置中心?配置中心可以给需要热刷新的 configration 加一个注解,在收到配置修改的时候,对应 bean 会被重新装配一遍。
|
7
bill110100 310 天前
@gzk329 你这个没可能,代码不是你的,鬼知道对应环境变量影响了多少功能。
|
8
starxg 310 天前
|
9
Elilili 310 天前
为什么楼上都在说配置中心啊
|
10
frank42a 310 天前
放弃 SpringBoot ,用 Spring MVC 一样行
|
11
linyimin520812 310 天前 via iPhone
可以看看 CDS: https://docs.oracle.com/javase/8/docs/technotes/guides/vm/class-data-sharing.html
顺便推荐一下我的启动耗时分析项目,无需修改代码,只需要添加个启动参数就能看到启动过程的耗时分析报告 https://github.com/linyimin0812/spring-startup-analyzer |
12
zjp 310 天前 via Android
预先加载和提高启动速度不是矛盾的吗?
|
13
mmdsun 310 天前
|
14
vitoliu 310 天前
@linyimin520812 #11 这个牛啊,看起来很不错,我明儿个试试。
|
15
vitoliu 310 天前
@linyimin520812 #11 有个问题,如果 PostConstruct 抛出异常了,正常情况下应该 shutdown 才对,异步加载抛出异常应该不会阻塞 spring 容器启动吧?这样会不会带着 bug 启动
|
16
zhiyu1998 310 天前
@linyimin520812 学习了
|
17
richcat 310 天前
CDS ,起码会加载的快
|
21
frank42a 310 天前
@linyimin520812 非常不错
|
22
BQsummer 310 天前
springboot 启动慢的原因是单线程初始化各种复杂业务相关的 bean 导致的吧, 加 cpu 能解决部分问题
|
23
BQsummer 310 天前
或者试试 serveless 冷启动加速相关的技术, 比如 amazon 的 snapstart
|
24
linyimin520812 307 天前
OP 用的什么版本的 JDK 呀?低版本的 CDS 只能作用与 Boot Class Loader 加载的类,不能作用于 App Class Loader 或者自定义的 Class Loader 加载的类。Java 10 中将 CDS 扩展为 AppCDS ,不止能够作用于 Boot Class Loader ,App Class Loader 和自定义的 Class Loader 也都能够起作用,大大加大了 CDS 的适用范围。
https://khotyn.com/blog/posts/2018-03-21-app-cds/ |
25
gzk329 OP @linyimin520812 用的是 JDK8
|
26
frank42a 305 天前
JDK 8 可以用 CDS 吗?
|
27
linyimin520812 297 天前
@vitoliu #15 谢谢提醒,试了一下,异步加载抛出异常会阻塞 Spring 容器启动,整个应用会启动失败
|
28
linyimin520812 297 天前
@frank42a #26 JDK8 使用 CDS 的作用应该不大,毕竟只作用于 Boot Class Loader 加载的类
|