java - 是否从 Spring 5 中删除了 GlobalSession 范围的 bean?为什么?
问题描述
1. 是否从 Spring 5 中删除了全局会话范围的 bean?
官方文档不再提及。SCOPE_GLOBAL_SESSION 不再是 RequestAttributes 的一部分:
2. 如果 1 为真:为什么要删除它们?
更新:
找到了一个删除这些东西的提交。似乎是因为 Portlet 的丢失:请参阅提交:https ://github.com/spring-projects/spring-framework/commit/2b3445df8134e2b0c4e4a4c4136cbaf9d58b7fc4#diff-42e7410c98a33ab499e5c27858b1c985
解决方案
是的。这SCOPE_GLOBAL_SESSION
是为了在 Portlet 和 Servlet 之间共享会话。并且支持的 Portlet 在 Spring 5 中的SPR-14129中被删除,因为:
Spring 的 Portlet MVC 支持近年来变成了第二类特性,从未更新到如今
HandlerMethod
Servlet MVC 所基于的现代基础设施(自 3.1 以来,旧的 Servlet MVC 变体自 3.2 以来已弃用)。此外,Portlet 3.0 规范打算引入注释驱动的调度本身,因此 Spring Portlet MVC 也没有战略地位,即使在其当前的利基市场中也是如此。最后但同样重要的是,常见的 Portlet 环境似乎卡在 Spring 3.x 上,甚至还没有升级到 Spring 4.x。因此,从 Spring 5 开始,我们将完全放弃对 Portlet MVC 的支持,同时引入我们的 Reactive MVC 变体。我们打算继续支持(但不推荐)在 Portlet 环境中使用 Spring 和 JSF,特别是通过 Spring Web Flow。对于所有其他目的,Spring Framework 4.3.x 将一直支持到 2020 年,包括其 Portlet MVC 支持(以及底层 Servlet 2.5 支持)。
推荐阅读
- c - 由于内存未释放,LWIP 在一段时间后挂起
- python - 如何在同一张图上绘制来自不同模型的多条学习曲线?
- regex - 如何使用正则表达式提取器从响应标头中提取元素
- mysql - 如何在另一台主机上将 kafka 与 MySQL 连接?
- c++ - 将数组传递给函数的大小控制
- java - java - 如何修复Java maven项目中的“目标org.owasp:dependency-check-maven:4.0.2:聚合失败。:NullPointerException的执行默认值”?
- javascript - 在 Vuejs 中观察 window.scrollY 的变化
- mysql - 如何选择类似于字符串前 n 个字符的标题?
- c# - missing_index_[number] 来自哪里
- swift - 如何从 Swift 中数组的第一项获取字典项的值?