2

CDI-@Sessionscoped 可以在没有可用的 http-session 时使用(例如,当使用 RESTful-WS 时?)。如果没有,是否有替代 @SessionScoped 的方法?我问是因为我需要一个应用程序状态,但我也被迫使用 JAX-RS。

出于某种原因,我可以在 RESTful-Service 中注入 @SessionScoped bean,但我知道,至少按照惯例,这是不允许的。同样使用@SessionScoped 需要在每个客户端请求的标头中发送 JSessionID-Cookie,并且由于该服务是在非浏览器环境中使用的,因此我不能确定是否可以使用 cookie...

4

2 回答 2

3

在 REST 环境@SessionScoped的情况下,在浏览器客户端(如果 REST 服务器支持会话)的情况下将作为例外工作,但在非浏览器客户端(如果客户端忽略 coockies)的情况下,将在每次调用时创建新 bean。

也许@ApplicationScoped对你有好处?

于 2013-03-18T22:43:21.757 回答
2

您始终可以创建自己的上下文和范围。

于 2013-03-19T18:13:52.497 回答