【发布时间】:2015-07-23 02:09:54
【问题描述】:
引入了单例会话 bean 来解决什么问题?难道只是为了共享所有豆子共有的数据吗??
在 EJB 3.0 及之前的版本中如何管理该问题?
如果它保留客户端特定的会话状态,则该单个实例将包含所有客户端(尝试同时访问)的特定数据?它会安全吗??
如果我们可以使用静态最终变量和静态初始化块或静态方法来初始化它们(因为静态变量也是每个类数据而不是每个实例数据) 在其他会话 bean 中,为了在 bean 之间共享公共数据,单例会话 bean 需要什么?
-
在单例中有业务方法是一个好的设计吗? 如果是这样,单个实例服务的客户端请求的响应时间将远远超过多个实例服务的响应时间。
此外,虽然单例 bean 允许多个客户端同时访问单个 bean 实例, 默认并发类型(容器管理)中的默认锁类型(写锁)将阻止所有其他线程访问 bean,直到该方法结束,并且 这似乎是一个缺点吧??
如果有人能给出一个清晰简单的用例,其中没有其他 bean 能像单例 bean 那样完全适合,那将非常有帮助
在此先感谢 :)
【问题讨论】:
-
每个问题问一个问题。
-
@BalusC 很抱歉将所有内容合二为一。我理解你的观点。但这些都是相关的,我想对单例 bean 有一个全面的了解。这就是我在一篇文章中发布所有内容的原因。 .
标签: jakarta-ee singleton ejb ejb-3.1 session-bean