1

インスタンス変数と 2 つのパブリック メソッドを持つステートレス セッション Bean があります。以下はその疑似コードです。

private int instanceVar;

public void methodA(int x) {
    instanceVar = x;
}

public void methodB() {
    print instanceVar;
}

どちらのメソッドも、クライアントから次々と呼び出されます。クライアント コードとステートレス セッション Bean は、Websphere にデプロイされます。Application Server の単一インスタンスまたは 2 つの Application Server を持つクラスターの場合、methodB から出力される instanceVar の値は methodA と同じであることが観察されました。ただし、アプリケーション サーバーが 3 台ある環境では、表示される instanceVar の値に古い値が含まれます。誰でも私のためにこの動作を説明できますか?

前もって感謝します!

よろしく、 スドゥ

4

1 に答える 1

0

単一のアプリケーション サーバー上でも、EJB コンテナーはステートレス セッション Bean の複数のインスタンスを作成する場合があります。したがって、疑似コードに示されているようにインスタンス属性を使用しても、期待される結果が得られることは保証されません。

于 2011-11-11T21:10:24.397 に答える