我有一个JSF管理的会话范围bean。它也是一个Spring组件,这样我就可以注入一些字段:
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.springframework.stereotype.Component;
@ManagedBean
@SessionScoped
@Component
public class EpgBean {...}
问题在于会话(session)被多个用户共享!如果一个用户执行了一些操作,而另一个来自另一台计算机的用户连接时,他会看到其他用户的SessionScoped数据。
这是因为Spring @Component会强制该bean成为单例吗?针对此问题的正确方法是什么?
@Scope("session")
(它默认为“application”范围,就像当没有声明JSF特定的范围注释时,JSF默认为“none”范围)。 - BalusC