1

アクション リスナーを持つクラスがあります (JSF マネージド Bean の一部として)。アクション リスナー内のコードは、別のクラスの新しいオブジェクトを作成しています。クラス A. このオブジェクトは、このクラスの関数を呼び出すために使用されています..

public void invokeActionListener(ActionEvent act)
{
MyClass myclass=new MyClass();
myclass.invokeRequest();
}

いくつかのデータを処理した後、invokeRequest 関数は別の関数 B を呼び出します。関数 B は別の関数 C を呼び出します。C は D を呼び出し、フローは終了します。

Dが終了するまで完全なフローになるまで、いつinvokeRequestを1回だけ呼び出す必要があるかを確認したいと思います。

関数 invokeRequest() に同期を設定しましたが、同期が機能しません。1 つのスレッドがまだ動作している場合でも、異なるスレッドがこの関数を呼び出すことができます。

Class MyClass
{
public synchronized void invokeRequest()
{
 invokeRequestB();
}

public void invokeRequestB()
{
invoke RequestC();
}

public void invokeRequestC()
{
invoke RequestD();
}

public void RequestD()
{
//Complete processing and end the flow.
}

ガイドしてください.....

4

1 に答える 1