无状态会话Bean:不保存客户机的会话状态
有状态会话Bean:保持会话状态,每个实例都与一个特定的客户机相关联

解决方案 »

  1.   

    1. 有状态和无状态只在部署的时候区分啊
    2. 有状态的,每一个Remote或者Local接口会固定的对应到一个相应的Bean中,这个是容器已经帮你做了无状态的,同一个Remote或者Local接口,在每次调用方法的时候都可能对应到容器上的不同Bean(在无状态的设计中对你来说是没有所谓的,是你不关心的),这个就是无状态的意思。
      

  2.   

    基本同意ztc16627(无语) ,但是还有一点:
    无状态会话Bean在这次session后是不会保留的,通俗的说,即它所记录的数据是不会记录到数据库,但有状态会话Bean的状态在session结束后会持久化,即记录到数据库
      

  3.   

    to congliu() 没有这回事,有状态的Bean的属性根本不存在自动保存到数据库的说法。有状态的Bean的生存周期也肯定是在Session之后就无效了
      

  4.   

    有状态还是无状态Bean用来管理事务,应该都需要显示的提交和回滚吧,否则都不能保证事务的一致性,只有容器BEAN来管理才能保证EJB中的事务是一致的吧?