【发布时间】:2012-06-28 15:44:53
【问题描述】:
我正在使用 wsdl2java 生成的 Axis 2 (1.6.1) java 客户端。
它似乎工作正常,但有时我会收到以下错误:
14:38:04,855 INFO [HTTPSender] 无法将ViaPost 发送到 url[...]
java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at com.sun.net.ssl.internal.ssl.InputRecord.readFully(InputRecord.java:293)
at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java:331)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:798)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:755)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
我想知道这是否可能是一个多线程问题,并希望得到一些关于此事的答案。 我使用缓存 HttpClient 的存根。 HttpClient 使用 MultiThreadedHttpConnectionManager,我将 setDefaultMaxConnectionsPerHost 设置为 20。
我了解 HttpClient 凭借关联的 MultiThreadedHttpConnectionManager 将是线程安全的。 问题是 Axis2 存根会发生什么?存根也是线程安全的吗?
我看过一些帖子,其中指出 Axis 存根在设计上不是线程安全的。 如果是这样,使用多线程 HttpClient 有什么好处? 如何确保 Axis 客户端存根在多线程环境中可用?
谢谢
【问题讨论】:
标签: multithreading axis2 stub