如何在android中中止spring-android rest模板请求

时间:2014-01-24 12:43:51

标签: android spring abort resttemplate

Spring-android库中是否有任何方法可以中止resttemplate请求?

任何指针都会有很大的帮助。

1 个答案:

答案 0 :(得分:0)

我不知道你要求的功能。 但也许你知道暂停的时间。所以你可以使用连接超时: RestTemplate Constructor

int timeOutMillis = 5000;//example 5 seconds
        ClientHttpRequestFactory requestFactory;

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
            requestFactory = new SimpleClientHttpRequestFactory();
            ((SimpleClientHttpRequestFactory) requestFactory).setConnectTimeout(timeOutMillis);
        } else {
            requestFactory = new HttpComponentsClientHttpRequestFactory();
            ((HttpComponentsClientHttpRequestFactory) requestFactory).setConnectTimeout(timeOutMillis);
        }
        RestTemplate restTemplate = new RestTemplate(requestFactory);

Alternativ你可以创建一个AsyncTask并杀死它:)

AsyncTask<Void, Void, Void> task = new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                RestTemplate restTemplate = new RestTemplate();
                restTemplate.delete("http://example.com");
                return null;
            }
        }.execute(); //Task run

        task.cancel(true); //Cancel task and so the request

希望这就足够了,对不起,但Spring Docs中没有其他内容......