小编Kaf*_*que的帖子

HttpClient在成功执行的方法上挂起socketRead0

在我们的网络应用程序中,用户可以提交网址.我们将获取数据并解析服务器端.对于每个请求,我们使用具有以下(相关)设置的HttpClient

connectionManager.getParams().setConnectionTimeout(10000);
connectionManager.getParams().setSoTimeout(10000);
Run Code Online (Sandbox Code Playgroud)

当我调用HttpMethod.getResponseBody时,状态代码已被检查为可接受.此时线程与此堆栈跟踪挂起:

java.net.SocketInputStream.socketRead0 ( native code )
java.net.SocketInputStream.read ( SocketInputStream.java:150 )
java.net.SocketInputStream.read ( SocketInputStream.java:121 )
java.io.BufferedInputStream.read1 ( BufferedInputStream.java:273 )
java.io.BufferedInputStream.read ( BufferedInputStream.java:334 )
java.io.FilterInputStream.read ( FilterInputStream.java:133 )
org.apache.commons.httpclient.AutoCloseInputStream.read ( AutoCloseInputStream.java:108 )
java.io.FilterInputStream.read ( FilterInputStream.java:107 )
org.apache.commons.httpclient.AutoCloseInputStream.read ( AutoCloseInputStream.java:127 )
org.apache.commons.httpclient.HttpMethodBase.getResponseBody ( HttpMethodBase.java:690 )
Run Code Online (Sandbox Code Playgroud)

我无法找到发生这种情况的确切网址(这是一个在实时环境中发生的事件)而且我无法重现它.我想这只是我们所连接的服务器的一个问题,表现得很奇怪,但也许我错过了一些东西.在任何一种情况下,有没有办法让我阻止阻塞方法调用永远等待?SoTimeout也是套接字读取超时?我还缺少另一种设置吗?

java sockets timeout httpclient

7
推荐指数
1
解决办法
4642
查看次数

在等待批准期间,如何在管道摘要中查看“测试和覆盖范围”?

在管道摘要中,我希望看到测试通过百分比和覆盖率。但是,由于有阶段等待批准,管道仍被视为“正在进行中”并且该部分为空白/空:管道测试待定

我认为管道摘要包含对批准进行有用的信息,因此我希望即使在所有阶段完成之前也可以获得数据。

是否有其他方法可以考虑管道已完成,查看测试和覆盖率数字,然后仍然能够手动触发/完成一些跳过的阶段?

azure-devops azure-pipelines

5
推荐指数
0
解决办法
140
查看次数