0

私が継承したアプリケーションで遭遇するこの「パターン」について考えてみましょう。

public class BusinessUtil{
    public static void doBusiness(IService myService, String arg1, int arg2){
        //something something
        myService.doStuff(arg1, arg2);
    }
}

myService BeanはspringBean(=シングルトン)です。これは実際にはcxf-client(=生成されたwebservice-client)です

これはWebアプリケーション内にあるため、静的doBusiness()メソッドは異なる並行スレッドから呼び出されます。このメソッドはスレッドセーフですか?

あなたが尋ねる前に:私はこれが奇妙な「パターン」であることを知っています。doBusiness()メソッドは、呼び出される静的メソッドに渡す代わりにmyService.doStuff()を直接呼び出すことができるため、非常に冗長であることがわかっています。私が言ったように、私はこの「パターン」がいたるところにあるアプリケーションを継承しました。何故かはわからない。アプリケーションに(時々)奇妙な振る舞いがあり、問題の原因を突き止めようとしています。

4

2 に答える 2

2

doBusiness()スレッドセーフにするものは何もありません。スレッドセーフかどうかは、のスレッドセーフ性に依存します。myService.doStuff(arg1, arg2);

于 2013-03-07T08:06:22.030 に答える
0

スレッドセーフかどうかは、myService.doStuff(arg1、arg2);に依存します。この記事はcxf-clientなので、CXFクライアントプロキシはスレッドセーフですか? 役に立つかもしれません

于 2013-03-07T08:22:15.323 に答える