首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有状态会话bean多线程访问

有状态会话bean多线程访问
EN

Stack Overflow用户
提问于 2014-04-25 07:42:56
回答 2查看 3K关注 0票数 3

EJB3.2规范如下:

默认情况下,客户端可以对有状态会话对象进行并发调用,并且需要容器来序列化此类并发请求。请注意,容器从不允许多线程访问实际有状态会话bean实例。

对我来说,并发访问和多线程访问似乎是等同的。那么,在禁止多线程的情况下,如何能够对有状态EJB进行并发调用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-25 07:56:05

您说得对:并发调用只能使用多个线程进行。因此,当谈到并发性时,涉及到多个线程。

规范明确指出,不允许容器并发访问一个有状态会话bean实例。如果存在并发调用(来自多个线程),则容器必须序列化它们。

请注意,当然有几个有状态会话bean的实例,当然可以由多个客户端访问。

此外--这似乎让您感到困惑--规范说允许客户端(而不是容器)进行并发调用,但是容器必须序列化它们。

票数 4
EN

Stack Overflow用户

发布于 2014-04-25 07:57:21

有状态会话bean可以处理并发请求。但是,这些调用实际上并不访问您并发编写的bean类。应用服务器序列化这些请求。因此,在给定的时间,只有一个线程执行bean类方法。

所以问题是,并发调用并不等于对有状态会话bean的并发访问。

此级别的并发只处理同一会话的请求。来自不同会话的请求使用不同的对象进行处理。

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

https://stackoverflow.com/questions/23287054

复制
相关文章

相似问题

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