免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2127 | 回复: 5
打印 上一主题 下一主题

无状态会话bean实现类里面可以有数据成员么 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-15 20:54 |只看该作者 |倒序浏览
下面的seesion bean 是stateless的,那它的value在两次incremnetValue()调用中会保持并加一么
import javax.ejb.Stateless.*;
/*A simple stateless session bean implementing
      the incrementValue() method of the * CalculateEJB interface.*/
@Stateless(name="CalculateEJB")
public class CalculateEJBBean
implements CalculateEJB
{
int value = 0;
public String incrementValue()
{
value++;
return "value incremented by 1";
}
}

论坛徽章:
0
2 [报告]
发表于 2007-05-16 11:21 |只看该作者
不会吧

论坛徽章:
0
3 [报告]
发表于 2007-05-16 11:35 |只看该作者
原帖由 apollolegend 于 2007-5-15 20:54 发表
下面的seesion bean 是stateless的,那它的value在两次incremnetValue()调用中会保持并加一么
import javax.ejb.Stateless.*;
/*A simple stateless session bean implementing
      the incrementValue()  ...

如果每次都是new 肯定没事
如果 想servlet 那样 肯定不行
不过你自己写个程序测试一下1个小时也够了

论坛徽章:
0
4 [报告]
发表于 2007-05-16 19:00 |只看该作者
不可以,stateless session bean 根本无法保证每次调用的都是同一个实例。

论坛徽章:
0
5 [报告]
发表于 2007-05-16 19:18 |只看该作者
无状态session bean和有状态bean的实质区别究竟在哪里

论坛徽章:
0
6 [报告]
发表于 2007-05-16 21:49 |只看该作者
原帖由 apollolegend 于 2007-5-16 19:18 发表
无状态session bean和有状态bean的实质区别究竟在哪里

我没细看你问题的内容.就看了个标题
你可以把有状态的看成和session类似的.
无状态的就是一次操作一个状态,是瞬时的.
"无状态会话bean实现类里面可以有数据成员么 "
这个意思不明确 当然可以有 但是可能是线程安全的 也可能不是.
我没有看j2ee5 的规范.
如果每次stateless 调用是new新的实例 就是线程安全.  至于你递增的问题肯定不能实现 因为每次调用都是新的实例.
如果是不每次new 而是单例 或者是在一个实例池中取的这个 (不是线程安全的).
不过你要实现递增 也是不可能的.鬼知道下一个调用者是谁. 是一个错误的陷阱.如同servlet.
satefull可以实现你要的功能.
ejb 我没用过几次 而且还是在ejb的蛮荒时代用过几次. 所以我是很不熟悉. 有错误指出

[ 本帖最后由 tong0245 于 2007-5-16 21:56 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP