举个例子
如果你的这个BEAN是个无状态的,那么,
你调用:local=home.create("1","1");以后
再调用:local.methada("2");
同时,还有第二个客户也调用了CREATE:
local=home.create("2","2");
这时,你刚才第二步的操作很可能已经是由home.create("2","2");
得来的local了
所以,有状态的意思,就是,你CREATE以后得到的LOCAL,
不论你用多少次,都是你CREATE的,而不是用的别人CREATE的。

解决方案 »

  1.   

    http://sunrise.x168.net/java/020227,14,51,51.html
      

  2.   

    能否得到原先的实例不是由客户端决定,而是由ejb容器决定有状态sessionBean 运作是这样的:
    ejb容器会根据最近最少被使用的原则钝化实例,同时将会话状态保存起来,bean实例可以重新分配给另一用户,开始全新的对话交互。而重新访问bean实例是必须先得到会话状态再根据just-in-time的策略激活bean实例。
    同一客户端程序的下一个方法请求是先得到保存的会话状态(即a和b)以上是书上说的,在我理解是调用home.create时,是先看bean容器中有没有可激活的实例,没有创建实例,有就激活!不知道我的理解是否有问题,请知道的多多指教!