android - 在 RoboSpice 请求 android 中设置连接超时

标签 android robospice

我在 android 中使用 RoboSpice 进行 Rest Api 调用,我想在调用中添加 30 秒的连接超时,我该怎么做?

这是我的代码

 public class AddBrandsService extends
        SpringAndroidSpiceRequest<AddBrands.Response> {

     public final AddBrands.Response loadDataFromNetwork(){

     return getRestTemplate().postForObject(url,
            request, AddBrands.Response.class);
    }

    }


    this service is called here 

    private SpiceManager contentManager = new SpiceManager(
        JacksonSpringAndroidSpiceService.class);

    contentManager.execute(service, lastRequestCacheKey,
                DurationInMillis.ONE_SECOND, new AddBrandsListner());

提前致谢...

最佳答案

这是代码。基本上,您必须注意 android 的版本,因为 spring android 在两个不同的实现之间切换,以避免网络堆栈中的已知错误。不幸的是,这两种实现在超时方面没有共享一个通用接口(interface)。

private void manageTimeOuts(RestTemplate restTemplate) {
    // set timeout for requests
    ClientHttpRequestFactory factory = restTemplate.getRequestFactory();
    if (factory instanceof HttpComponentsClientHttpRequestFactory) {
        HttpComponentsClientHttpRequestFactory advancedFactory = (HttpComponentsClientHttpRequestFactory) factory;
        advancedFactory.setConnectTimeout(WEBSERVICES_TIMEOUT);
        advancedFactory.setReadTimeout(WEBSERVICES_TIMEOUT);
    } else if (factory instanceof SimpleClientHttpRequestFactory) {
        SimpleClientHttpRequestFactory advancedFactory = (SimpleClientHttpRequestFactory) factory;
        advancedFactory.setConnectTimeout(WEBSERVICES_TIMEOUT);
        advancedFactory.setReadTimeout(WEBSERVICES_TIMEOUT);
    }
}

关于android - 在 RoboSpice 请求 android 中设置连接超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16707357/

相关文章:

android - Android 中的回调和自定义套接字客户端

android - 改造:@GET 命令中的多个查询参数?

android - 使用 Robospice 和 Android Studio 的 Commons-Io Duplicate Entry 错误

robospice - 如何同步执行 RoboSpice 请求?

java - FusedLocationProviderClient.getCurrentLocation 是如何工作的?取消 token

java - 如何在位图上居中和缩放叠加的可绘制图标

java - Android - RecyclerView 项目未显示

android - Android 内存分配如何与 ImageView 配合使用?

android - Robospice 使用 SpringAndroidSpiceRequest 上传文件

java - 什么是 android 中的 RoboSpice 库