服務器在GlassFish 3.0上運行無狀態會話Bean中的實例變量 - 狀態是如何維護的?
@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的池,我增加val在一種情況下,重新查找希望得到一個新的實例,它似乎實例變量值保持
這怎麼可能?除非服務器每次都一直給我返回相同的實例,或者是。
我甚至試過它在一個循環中執行它並得到相同的結果。 可以在任何提供一些線索
如果一次只有一個請求,那麼容器只需要創建一個bean實例。如果您在並行線程中運行多個客戶端,則應該看到有多個bean在運行。 –
@湯姆安德森當然沒有。謝謝 – Sudhakar