GlassFish 3.0 で実行されているサーバー
@Stateless(mappedName="messengerservice")
public class MessengerService implements MsnService{
int count;
@Override
public int getCount() {
// TODO Auto-generated method stub
count = count+1;
return count;
}
}
クライアント
for(int i=0;i<5;i++){
MsnService br = (MsnService) ctx.lookup("java:global/EJbTutorial/MessengerService");
System.out.println(br.getCount());
}
出力
1
2
3
4
5
EJB 仕様によると、サーバーはセッション Bean のプールを維持し、1 つのインスタンスで値をインクリメントし、うまくいけば新しいインスタンスを取得し、インスタンス変数の値が維持されているようです。
どのように可能ですか?サーバーが毎回同じインスタンスを返し続けない限り、またはそうです。
ループで実行しても同じ結果になりました。いくつかの光を当てることができますか