一个ejb对象为什么不能被并发访问

lanmolsz 2010-08-28 06:35:15
也就是说一个ejb对象在某一时刻只能被一个线程访问.不能被多个线程同时访问该对象,请问是为什么.在无状态的session bean或者Message Driven bean他们为什么不能被多个线程同事访问,他们没有状态啊!!
...全文
87 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanmolsz 2010-09-07
  • 打赏
  • 举报
回复
还是不明白啊
lanmolsz 2010-09-07
  • 打赏
  • 举报
回复
不明白
lanmolsz 2010-09-07
  • 打赏
  • 举报
回复
不明白啊,
ztenv 2010-09-02
  • 打赏
  • 举报
回复
也不是不能,你完全可以开发一个支持多线程访问的ejb容器出来,但那样就不安全了,也不符合j2ee的标准;很多容器都是有ejb池的,
lanmolsz 2010-09-01
  • 打赏
  • 举报
回复
怎么没人回答啊
lanmolsz 2010-09-01
  • 打赏
  • 举报
回复
没人回答了吗?
lanmolsz 2010-09-01
  • 打赏
  • 举报
回复
没人回答了吗?
强长黑粗硬 2010-08-28
  • 打赏
  • 举报
回复
而且对HashMap的讨论,也都是说他不是线程安全的,从来没有讨论过哪个类不能多线程访问的。
强长黑粗硬 2010-08-28
  • 打赏
  • 举报
回复
任何对象都可以多线程访问,这个跟ejb session bean还是HashMap没关系的。

我所说的ejb不能多线程访问,是就EJB框架而言。
一般都是提交一个request,然后拿到一个ejb对象,然后做业务逻辑。


当然,你可以将调用ejb的方法做成多线程的,那你不就实现ejb session bean的多线程访问了
lanmolsz 2010-08-28
  • 打赏
  • 举报
回复
楼上的,我记得想hashMap他里面的方法都可以被多个线程同时,而且是一个对象被多个线程同时访问
Brave_lxx 2010-08-28
  • 打赏
  • 举报
回复
是楼上说的这样,不过我正是觉得因为有这个pool的设计,ejb看起来是可以并发访问的,虽然概念上有点不同。

强长黑粗硬 2010-08-28
  • 打赏
  • 举报
回复
怎么并发访问呀,对象就是那么一个,你要是并发访问,他为谁服务呀?里面的变量是谁赋给的值?

所以肯定是一个时刻只能一个线程访问了。

所谓无状态,只不过是不记录访问用户信息,当该用户使用完毕,这个ejb对象释放,然后可以继续为其他线程服务。也不是说同时可以为两个线程服务。

所以应该是在pool里面有很多无状态的session bean,然后每一个为一个线程服务,当使用完毕,被释放,再为其他线程服务

请高手跟进
Brave_lxx 2010-08-28
  • 打赏
  • 举报
回复
怎么测出来的不能?按道理来说应该是可以的啊

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧