java - Axis2 生成的 stub 是线程安全的吗?

标签 java web-services multithreading thread-safety axis2

Axis2 线程安全地从 WSDL 生成客户端 stub 吗?

当然,“线程安全”不一定是一个严格定义的术语,所以我至少对以下内容感兴趣:

同一个 stub 类的不同实例是否可由不同线程同时访问,具有与单线程执行相同的有效行为?

同一 stub 类的单个实例是否可由不同线程同时访问,具有与在单线程执行中以某种任意方式交错的相同调用相同的有效行为?

您可能还希望使用描述的术语 here (并发起 here )来更准确地讨论这个问题。

最佳答案

我不确定 axis2,但至少 axis1 会生成非线程安全的客户端 stub 。我的印象是几乎所有其他 SOAP 客户端也是非线程安全的。如果我没记错的话,问题出在客户端 stub 以非线程安全方式使用 XML 解析库。

不过,使用 apache commons-pooling 来汇集实例并一次使用一个线程中的每个实例效果很好。

更新:对于 Axis2,请参阅 https://issues.apache.org/jira/browse/AXIS2-4357 (声称 Axis2 在设计上不是线程安全的)

关于java - Axis2 生成的 stub 是线程安全的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1950080/

相关文章:

java - 关于执行时在 build.xml 中出现错误

java - 当我将jedis放入ThreadLocal时无法成功关闭

java - 查找实例所属的节点

java - java卡牌游戏遇到问题

Java 泛型 : method signature for (deep copy of) generic Maps

java - 如何将此数组分解为类似字母类型的子数组(在连续位置)

.net - Backbone.js 模型同步和 C# .net RESTful Web 服务

Android webservice GET 请求只回复部分 XML 响应

java - Java多线程环境下访问数据库

c++ - 什么是 C++ 应用程序的最佳多线程应用程序调试器