什么是热刷新?

Posted

技术标签:

【中文标题】什么是热刷新?【英文标题】:What is hot refresh? 【发布时间】:2019-09-07 13:30:29 【问题描述】:

这是来自 1.6.1 的 Spring Framework Core 的 sn-p:生命周期回调

另外,请注意,停止通知不能保证在销毁之前发出。在定期关闭时,所有Lifecycle bean 首先会在传播一般销毁回调之前收到停止通知。但是,在上下文生命周期内的热刷新或中止刷新尝试时,只会调用 destroy 方法。

跟实时重载有关系吗?

【问题讨论】:

我认为这是措辞上的轻微不一致,他们打算写hot swapping @Turing85 虽然我是这么想的,但是同一个词在Spring Framework Core中重复了两次,你可以在1.15.2中搜索。标准和自定义事件 我知道,我检查了文档 =)。不过,我会认为这是一个轻微的不一致。 热刷新是关于重新加载你的ApplicationContext而不重启进程见***.com/questions/24720330/… @josejuan 正确,但部分正确。 【参考方案1】:

自己回答问题。

ContextRefreshedEventApplicationContext 初始化或刷新时发布(例如,通过在 ConfigurableApplicationContext 接口上使用 refresh() 方法)。在这里,“初始化”意味着所有 bean 都已加载,后处理器 bean 被检测并激活,单例已预先实例化,ApplicationContext 对象已准备好使用。只要上下文没有关闭,就可以多次触发刷新,前提是选择的ApplicationContext实际上支持这种“热”刷新。比如XmlWebApplicationContext支持热刷新,GenericApplicationContext不支持。

AbstractRefreshableWebApplicationContext:

提供“configLocations”属性,在 Web 应用程序启动时通过 ConfigurableWebApplicationContext 接口填充。

这是在不重新启动应用程序的情况下替换其配置位置属性的 Web 应用程序上下文。

【讨论】:

我想我错了,对不起。为什么他们会称之为“热”清爽? 因为我猜"configLocations" 正在被替换。

以上是关于什么是热刷新?的主要内容,如果未能解决你的问题,请参考以下文章

ctrlf+F5与F5刷新有啥区别!

什么时候刷新令牌?

WPF中的DataGrid 数据动态刷新UI

刷新网页是哪个快捷键呀!

关闭后台App刷新后台应用刷新是做什么的

急!怎么解决增加记录后DBGrid的刷新问题?