当前位置: 首页 > 知识库问答 >
问题:

凌空更改响应超时-不设置重复

鲜于允晨
2023-03-14

我从互联网上搜索了很多来设置凌空的请求超时。我最终得到了重试策略的解决方案,但当研究它不设置超时时,它会设置请求的重试时间,但我不想重试我的请求。我想增加凌空请求超时,以便较慢的网络可以访问数据,凌空超时设置为5秒,这意味着如果网络直到5秒才连接,它将抛出超时异常。我如何管理更改时间以从服务器获取响应。

我的代码是

ProjectHistory.requestQueue = Volley.newRequestQueue(mContext);
    int socketTimeout = 30000;//30 seconds - change to what you want
    RetryPolicy policy = new DefaultRetryPolicy(socketTimeout, DefaultRetryPolicy.DEFAULT_MAX_RETRIES, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT);
    stringRequest.setRetryPolicy(policy);
    ProjectHistory.requestQueue.add(stringRequest);

我有两个问题--

(1) 它会在30秒后重试请求吗?

(2)如何设置请求超时30秒,以便较慢的网络可以加载数据

共有1个答案

贺俊杰
2023-03-14

请在凌空中检查此线程的超时策略。

这里在

request.setRetryPolicy(new DefaultRetryPolicy(DefaultRetryPolicy.DEFAULT_TIMEOUT_MS * 48,
                0, DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));

DefaultRetryPolicy。DEFAULT_TIMEOUT_MS*48,第一个参数本身表示超时。Volley将等待给定时间,并且id没有得到响应,如果策略中提到重试,请重试。

注意:这里提到的超时是2500ms*48 = 120000ms=2分钟

谢谢

 类似资料:
  • 我有一个凌空的JSONRequest,它被卡住了,因为来自服务器的响应不是有效的JSON(它是html)。 如何才能优雅地处理此错误?我有以下实现: 然而,当我发送请求并得到无效的JSON响应时,不会调用onErrorResponse。相反,我得到了一个例外 整个应用程序崩溃了。 我设法将该错误跟踪到JsonObjectRequest.java类中的以下行: 调用的行是:返回响应。错误(new P

  • 我正在从服务器下载文件。我用排球来做。 这是我的代码 以下是错误侦听器的错误消息在一些弱网络连接上,我收到以下逻辑消息 我不明白失败的原因是什么,因为大多数错误消息都返回null。我很确定这是因为请求超时,我知道如何增加超时,但是我应该在错误侦听器中编写什么代码,以便在出现错误时获得正确的错误消息。

  • 我们有一个长时间运行的请求,我们接收到,但我们没有设置响应超时,所以它应该无限期等待,对吗?我还检查了user.properties和httpclient.parameters文件,也没有看到其中设置的任何值。 JMeter版本5.3

  • 我是SpringBoot的新手,正在寻找一种在endpoint超过3秒才能返回响应时超时的方法。我尝试添加属性“server.servlet.session.timeout”,但仍然没有运气。如何做到这一点?谢谢。 Application.properties

  • 我有一个用Java编写的Spring Boot应用程序,它是一个REST API。该服务(Svc A)调用REST API服务(Svc B),该服务也是用Java编写的Spring Boot应用程序。当没有找到数据时,Svc B返回404状态码。我需要将此响应更改为200状态代码,并返回一个空响应对象。我不确定是否或如何做到这一点。 我可以捕捉错误,并确定404是否是这个没有数据发现的错误。但是,

  • 我想在应用程序启动时加载一些数据,这些数据将被所有活动使用。我在应用程序的onCreate方法中这样做,因为我希望在显示任何活动之前下载这些数据,所以我尝试使用RequestFuture发出同步请求。但是,始终会抛出TimeoutException。 什么是获得应用程序范围的数据的最佳方式,记住没有一个活动是首先启动的?