java - 静态方法调用单例

标签 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)

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

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

最佳答案

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

的线程安全性

关于java - 静态方法调用单例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15266008/

相关文章:

java - 碰撞事件

java - Maximiser CRM 数据迁移,从二进制图像列中取消编码电子邮件文本

Java JTable 通过始终对固定列进行排序并允许用户对任何辅助列进行排序来将行卡住到顶部

c - 如何通过基本信号处理在c中同步多个进程

ios - 父/子托管对象上下文究竟是如何工作的?

database - Oracle SQL更新语句中,行更新是否并发发生?

java - Apache CXF 动态客户端创建

java - 发生调用目标异常 : null in Play framework

java - CXF 和独立 Web 服务

java - 注释CXF(wsdl2java)生成的包