静态方法调用单例

时间:2013-03-07 08:04:08

标签: java concurrency cxf static-methods

考虑我在我继承的应用程序中遇到的这种“模式”:

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

myService bean是一个springBean(= singleton)。它实际上是一个cxf-client(=生成的webservice-client)

这是在webapplication中,因此从不同的并发线程调用静态 doBusiness()方法。 这个方法是线程安全的吗?

在你问之前:我知道这是一个奇怪的'模式'。我知道 doBusiness()方法是非常多余的,因为我们可以直接调用 myService.doStuff(),而不是将其传递给静态方法,在那里调用它。正如我所说,我继承了一个应用程序,其中“模式”到处都是。我不知道为什么。 该应用程序(有时)有一些奇怪的行为,我正试图找到问题的根源。

2 个答案:

答案 0 :(得分:2)

doBusiness()中没有任何内容可以使其线程不安全。是否线程安全取决于myService.doStuff(arg1, arg2);

的线程安全性

答案 1 :(得分:0)

它是否是线程安全的取决于myService.doStuff(arg1,arg2);由于它是cxf-client,因此本文Are CXF client proxies thread safe? 可能有用

相关问题