对于有状态的会话bean,系统容器不能删除ejb实例,ejb实例的删除是由使用者,自己去调用 remove方法,至于什么时间你可以调用remove这要根据具体的业务逻辑来处理,如果说事务及逻辑已经处理完成,可以调用remove方法,删除实例。

解决方案 »

  1.   

    wangwd(coffee I love) ,是不是每次调用,用完了再删除,当另一个客户再调用该ejb的时候,容器再创建一个新的实力,这样,容器的压力是不是很大。如过我不删除,当另外一个客户调用该ejb的时候,是不是可以用原来的ejb的一些信息,而少做一些事情
      

  2.   

    不可以,EJB,有 状态 的会话bean只对一个用户有用,也就是每一个用户都会有一个对应于该用户信息的实例,实例的管理是容器进行的,但实例的消除必须由用户而决定什么时间进行,我不理解你所说的每次调用是什么含义,如果说一个事务及业务流程已经结束,就可以删除实例。
      

  3.   

    对于一个有状态bean,当然不是每次调用后就remove。之所以让它stateful,就是要临时保存一些有用的信息,当你确认这些信息不用时就remove。
      

  4.   

    会话bean所谓有状态就是为了保持特定用用户的信息,不存在公用性的问题,如果你不需要保持用户的状态,那可以用无状态的会话bean处理,
      

  5.   

    比如说有个状态bean 叫testbean,当一个客户调用之后,以后也不要用这个实例的信息了,是确定显式的remove它还是不remove它,当另外一个客户调用的时候,前一个客户有没有remove对后一个客户的调用速度有没有影响
      

  6.   

    应该显式的调用romove,通知容器销毁这个实例,前一个没有remove对后一个没有影响,你可以规定在一定的时间内,如果客户没有响应实例,可以通知容器钝化实例。以达到提高资源的利用问题