繁体   English   中英

无状态与有状态的豆子

[英]Stateless vs stateful beans

我仍然不清楚EJB中无状态和有状态bean的区别。 在哪种情况下我应该使用无状态和有状态的?

我会举个很好的例子:

说有没有。 用户(比如客户)现在有一个bean只是将国家名称作为输入并提供该国家的货币。 在这种情况下,bean可用于n no。 用户(客户)。 为每个客户端请求创建单独的bean没有任何意义。 所以可能有这样一个bean可以提供给多个客户端,这种bean被称为无状态bean。 在无状态bean服务于客户端之后,它不会销毁但是会转到bean池,因此它可以服务于其他客户端。

现在让我们再看一个例子,

在购物车中,有一个可以包含项目列表的bean。 因此,当您在网上购物时添加商品时,这些商品将保存在一个专门为您创建的bean中。 它的生命周期将一直到你完成购物。 因此,如果我开始在线购物,对我来说将创建另一个bean。 因此它被称为有状态的原因是因为它的状态在整个会话期间保持活动状态,即从你开始添加第一项直到你添加n否。 将物品放入购物车并下订单。

无状态bean: bean可以服务于多个客户端(一个客户端的任何更改都会反映到其他客户端)。 一旦无状态bean没有用,它就不会破坏,而是进入bean池,因此将来它可以服务于其他客户端。

有状态Bean:仅一个客户端的一个bean。 (一个客户端的任何更改都只适用于该客户端,因为其他客户端不使用此bean)。 所以一旦它的服务结束,它就会被破坏。

如果您需要在调用之间维护客户端的状态,您应该使用猜测什么? 对,有状态的豆子。 如果你不关心状态 - 无状态豆是正确的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM