EJB不单纯是你所写的Home、Remote和Bean,它是一个框架,一个体系,包括服务器为你提供的一整套功能和服务。Stateful Session Bean和Session中放个Java Bean根本就是两码事,不具有可比性。但EJB也不是万金油,哪儿都能抹,也的确要看你的实际需要。如果Web模块直接调Java Bean就可以满足要求了,那也没有必要非得提升到EJB层次才算有水平。

解决方案 »

  1.   

    另外,Session Bean的会话和Http Session也不要弄混,它们也不是一回事。所谓Stateful,就是指你在它的两次方法调用之间,可以保存对象状态。对比Stateless,这个概念应该很好理解。
      

  2.   

    Stateful Session Bean和Session中放个Java Bean根本就是两码事,不具有可比性。
    所谓Stateful,就是指你在它的两次方法调用之间,可以保存对象状态。
    -------------------------------------------------------------------------------
    首先谢谢你的答复
    呵呵,不知道你有没有真正理解使用过有态SESSION BEAN,
    也可能是我没有理解你,你能否详细说明一下你是这样使用有态SESSION BEAN的,你难道不把远程接口保存在SESSION里吗?
      

  3.   

    phoenixtree(单身贵族):
    这里我举一个例子说明有态SESSION BEAN结合SESSION的使用,这个例子和<ED ROMAN精通EJB20>里面有态SESSION BEAN差不多.
    这里有个HELLOEJB,它有一个状态值number,有业务方法addNumber()用来增加number,业务方法printNumber()用来输出number;
    以下用伪代码描述,相信应该可以表达出基本意思.........Hello h1 = helloHome.create("0");//初使化number值
    Hello h2 = helloHome.create("1");h1.printNumber();
    h2.printNumber();h1.addNumber();
    h2.addNumber();h1.printNumber();
    h2.printNumber();
    ------------------------------------------------------
    这个时候最后输出应该是1,2,也就是你说的"在它的两次方法调用之间,可以保存对象状态"
    我想问你如果这个时候刷新浏览器,那么输出的会是什么呢,是2,3呢,还是1,2?
    可以试试看
      

  4.   

    我觉得都差不多吧,session bean可以是分布式的吧,java bean不可以
      

  5.   

    这里虽然可以将表示客户交互状态的Enterprise javabean的实例保存在不同机器上的EJB容器里,但是这样的分布式构架在这里又能体现出什么好处呢,它能解决些什么麻烦的问题呢,如果优势不明显的话,那还不如直接用JAVA BEAN呀。
      

  6.   

    ->Enterprise javabean的实例保存在不同机器上的EJB容器里
    意味这这个entity bean可能就不是你开发的,可能是另一个公司,你怎么写java bean
    不是ejb高手,厚这脸皮回答
    也懒得多敲字
    你这家伙
      

  7.   

    意味这这个entity bean可能就不是你开发的,可能是另一个公司
    --------------------------------------------------------------------
    从软件组件分离,移植,扩展方面考虑,可能有它的用处。
    如果要用JAVA BEAN实现分布式的话,等于就要你自己去底层写网络通信了,这样会把重心偏离业务逻辑的实现,而且工作繁重,这里只能把JAVABEAN放在和WEB服务器相同机器上,分布放不理想。
    谢谢参与讨论,等下送点分给你。
      

  8.   

    1.从状态的保存,无区别
    2.如果其他业务组需要用到状态值,建议放在Stateful SessionBean中
    3.在集群环境中,如WebLogic,在服务器间复制HttpSession和复制StatefulSessionBean实例的机制是不样的,HttpSession降低效率参考WAF
    ...
      

  9.   

    楼主关于无态sessionbean的讨论我也看了,不错,其实如果国内多一些你这样的把问题拿出来大家的讨论的程序员的话,中国将是一个软件大国
      

  10.   

    我想,用有状态session bean好处就是可以实现 逻辑分离,与实体bean交互,分布...当然,能用session保存javabean能实现功能就行,我就是这样做的!并且,我觉得这样做的效率更高.