关闭浏览器后我可以访问有状态的Bean吗?

时间:2015-08-22 22:13:29

标签: ejb stateful-session-bean

我需要有关无状态和有状态会话Bean的帮助。我有几个问题。

  1. 请清楚地告诉我Stateless和Stateful Session Bean有什么区别?
  2. 有些人说有状态的豆子会保留有关客户的信息。有状态豆保持什么样的信息?
  3. 我们认为我有一个包含EJB(无状态和有状态会话Bean)的Web项目。如果我完全关闭浏览器,我可以再次访问相同的有状态会话Bean实例吗?
  4. 感谢您的回答。 :)

1 个答案:

答案 0 :(得分:0)

  1. 无状态bean完全可以互换,任何实例都可以为任何传入请求提供服务,完全由容器自行决定。出于这个原因,他们不应该存储与特定客户或请求相关的任何州,因为他们不知道接下来他们将处理哪个客户。为单个客户端创建有状态bean实例。它们可以存储状态并在调用之间进行维护,这样客户端就可以继续进行对话,而不仅仅是离散的请求。
  2. 存储的状态可以是您想要的任何数据。关键是同一个bean实例将处理单个客户端的请求,因此您可以添加存储数据所需的任何实例字段。
  3. 会话将由浏览器cookie识别,容器将与bean实例关联,所以我希望只要cookie没有被删除或以其他方式无效,它就不会有任何区别。 (我对这一点不太确定,因为它不在规范的严格EJB部分中)