java - 在 spring 提供的这么多事件中 - 哪个事件是正确的事件来监听我的应用程序的数据缓存
问题描述
在我的 spring 应用程序中,我想缓存一些数据。为了完成这个任务,我为事件 contextRefreshEvents 实现了一个监听器。唯一的问题是这个事件何时会被 spring 触发以及多少次,因为我不希望我的数据再次被缓存。
当我浏览一些链接时,例如: https ://www.baeldung.com/spring-context-events 提到弹簧将在“初始化或刷新 ApplicationContext ”期间引发此事件。初始化很好,因为这发生在我们启动服务器时,所以这个事件只会被触发一次,但我想要更多关于应用程序上下文刷新部分的信息。什么时候会刷新应用上下文?
解决方案
在 spring 中刷新上下文,以应用程序到应用程序。如果您使用的是 spring-boot,则无法刷新上下文,因为它是不可刷新的上下文。
在其他情况下,如果您使用基于 Xml 的上下文加载,则可以。在运行期间,如果您正在更改某些类并希望将修改后的类作为正在运行的应用程序的一部分加载,则意味着您可以删除该类的现有上下文并添加新的。所以这是一部分。如果你认为有很多东西会改变,那么你可以使用刷新。
还有一件事,如果你使用刷新,那么它不会影响现有的 @Autowired 东西。所以要小心。在继续之前检查他们的文档以获取各种可刷新的上下文。
推荐阅读
- python - 将函数应用于数据框中的特定行
- paypal - 使用 Paypal Payouts API 退款并避免重复付款
- javascript - 如何将一组文章的片段显示为新的 HTML 页面
- reactjs - 除了基本组件的其余属性之外,我如何指定高阶组件应该接受一个属性?
- android - android Firebase 应用程序已停止
- php - 限制数组成员依赖于不同的数组和计数
- python - Flask webapp从移动图片库上传照片
- snowflake-cloud-data-platform - ON 子句中的聚合函数无效 - 在 Snowflake SQL 中加入数组重叠/数组包含
- php - 我正在尝试添加乌尔都语字体,但它不起作用
- c - 结构、typedef 和 malloc、calloc