首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >@SessionScoped / @Stateful -它们如何管理会话/状态

@SessionScoped / @Stateful -它们如何管理会话/状态
EN

Stack Overflow用户
提问于 2015-05-11 01:14:17
回答 2查看 744关注 0票数 0

我是Java的新手。我在浏览CDI和EJB材料时遇到了@SessionScoped和@Stateful注解。

看一下定义:@SessionScope:跨多个HTTP请求维护用户与web应用程序的交互。

@Statfeful :看起来和@SessionScope有相同的功能

因此,以下是我的疑问:

1)它们是否有相同的用途? 2)我对Node和Python有一点经验。在那些用于维护客户端状态的语言中,我总是使用一个cookie,它绑定到一个HTTPSession对象,该对象又进一步绑定到内存缓存(redis/memcache),以便跨所有服务器分发。

所以我在这里也可以使用同样的技术。对吗?那么我为什么要使用这些符号呢?另外,如果我计划使用它们,那么如何使它们分布在所有服务器上?

这些注释的用途是什么?

EN

回答 2

Stack Overflow用户

发布于 2015-05-11 01:19:37

不,它们不是一样的,但它们可以一起使用。

@SessionScoped将对象绑定到HTTP会话。@Stateful会话Beans仅仅意味着可以通过来自单个调用者的调用来维护它们的状态。有状态会话Beans来自繁重的客户端应用程序,在这些应用程序中,Java SE程序可以在远程服务器上查找EJB来执行工作。这些类型的客户端/服务器应用程序可能使用有状态EJB在服务器上维护一定数量的会话状态,而不需要HTTP (它们在应用程序服务器上使用RMI-IIOP、CORBA等协议)。

现在,您可以通过HTTP会话继续使用有状态会话Beans。

票数 0
EN

Stack Overflow用户

发布于 2015-05-11 21:40:26

在和我的队友说了几句话之后,我想我的问题有了可能的答案。

在会话粘滞的情况下,可以利用sessionScope或stateful。Sticky and NON-Sticky sessions

在这种情况下,用户会话仅限于一个机器,而不是分布在所有机器上。但是,如果我们不使用粘性会话,那么这些注释几乎是无用的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30154280

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档