我有一个无状态会话bean,它有一个实例变量和两个公共方法.Below是它的伪代码。
private int instanceVar;
public void methodA(int x) {
instanceVar = x;
}
public void methodB() {
print instanceVar;
}
这两种方法都是从客户端一个接一个地调用的。客户端代码和无状态会话bean部署在Websphere上。它观察到,当methodB的单个实例或具有2个应用服务器的集群时,从methodB打印的instanceVar的值与methodA中的值相同。但是在具有3个应用程序服务器的环境中,instanceVar的值包含较旧的值。 任何人都可以为我解释这种行为吗?
提前致谢!
此致 Sudhu
答案 0 :(得分:0)
即使在单个应用程序服务器上,EJB容器也可以创建无状态会话bean的多个实例。因此,永远不能保证使用伪代码中显示的实例属性来提供预期的结果。