Spring3.0中的JSF2.0ViewScope

Spring3.0中的JSF2.0ViewScope,spring,jsf-2,Spring,Jsf 2,我有一个Spring3.0+JSF2.0Web应用程序和Spring管理的bean。目前,所有bean都是会话作用域。在我们的应用程序中,我们没有使用任何向导类型的功能。所有主要功能都显示在不同的选项卡中 最近,我们使用一个静态代码分析器分析了应用程序代码,它指出了会话范围bean中许多位置可能存在的争用条件问题。我知道在多选项卡场景中,使用会话bean可能会有问题。然后我读了一篇文章,其中建议可以将JSF viewScope实现为spring的自定义范围,以防止出现这种情况。当我尝试将它用于我

我有一个Spring3.0+JSF2.0Web应用程序和Spring管理的bean。目前,所有bean都是会话作用域。在我们的应用程序中,我们没有使用任何向导类型的功能。所有主要功能都显示在不同的选项卡中

最近,我们使用一个静态代码分析器分析了应用程序代码,它指出了会话范围bean中许多位置可能存在的争用条件问题。我知道在多选项卡场景中,使用会话bean可能会有问题。然后我读了一篇文章,其中建议可以将JSF viewScope实现为spring的自定义范围,以防止出现这种情况。当我尝试将它用于我的几个bean时,它破坏了相应的应用程序功能

现在我有两个问题- 1.就我的应用程序的竞争条件而言,当前使用SpringSessionbean的情况在未来会有多可怕? 2.有没有其他方法来处理会话范围bean的多个选项卡问题


欢迎任何建议。感谢您在Spring中实际查看JSF的作用域实现,它并不十分复杂。我已经创建了可以解决这个问题的工件


查看我的github存储库。

我不使用Spring,但我知道Spring已经支持类似于
@Scope(“view”)
(可能是因为只支持某个版本,或者使用一些自定义代码;使用“Spring jsf view Scope”搜索会产生很多结果)。它应该适合您的功能要求。然后,关于选择正确的bean作用域,这是一本有用的读物:您永远不应该依赖于角落案例来避免发生。将错误的作用域用于此目的是错误的。@user2704708。。。。我过去曾使用过
jsf2.0+spring3.0
@viewscope
。我试过这样做。检查答案可能是我将帮助获得一些想法我用于Spring3+JSF2的方法就是让JSF
@ApplicationScoped
bean加载整个Spring上下文。然后,该bean充当一个无状态单例,并被注入到我用于视图的每个
@ViewScoped
bean中。这样,每个视图都可以通过该bean定位服务并访问DAO服务。