Android和Java的REST客户端改造不会终止

Android和Java的REST客户端改造不会终止,第1张

概述我正在研究Android和Java的RetrofitREST客户端.在Eclipse中使用标准Java项目我使用带有void返回类型的@POST.进行异步调用.一切都按预期工作,但我的测试主要方法永远不会终止.我必须手动停止每个测试执行.我需要做什么(或停止做)以便我的测试自动终止?这是我的java代码.impo

我正在研究Android和Java的Retrofit REST客户端.

在Eclipse中使用标准Java项目我使用带有voID返回类型的@POST.

进行异步调用.

一切都按预期工作,但我的测试主要方法永远不会终止.我必须手动停止每个测试执行.

我需要做什么(或停止做)以便我的测试自动终止?

这是我的java代码.

import retrofit.Callback;import retrofit.RestAdapter;import retrofit.RetrofitError;import retrofit.clIEnt.Response;public class AndroID {    private static final RestAdapter mRestAdapter =        new RestAdapter.Builder()            .setEndpoint("http://localhost:8080/resources/registrations")            .build();    public static voID main(final String... args) {        final AndroIDRegister androIDRegister =            mRestAdapter.create(AndroIDRegister.class);        Callback<VoID> callback = manufactureCallback();        androIDRegister.androIDRegisterInterface(            new RegistrationIDJson("1111-2222-3333-4444"), callback);        }    private static Callback<VoID> manufactureCallback() {        return new Callback<VoID>() {            @OverrIDe            public voID failure(final RetrofitError retrofitError) {                System.out.println("retrofitError-->"                    + retrofitError.getLocalizedMessage() + "<---");            }            @OverrIDe            public voID success(final VoID returning,                                final Response response) {                System.out.println("-->" + returning + "<--->"                    + response.getStatus() + "<---");            }        };    }}

解决方法:

默认情况下,Retrofit使用具有60秒核心池超时的非守护程序线程池.很少,你很想以这种方式使用Retrofit的异步回调行为.

如果您只是测试,可以在RestAdapter.Builder上调用setExecutors并将同步执行程序作为第一个参数传递,并将第二个参数传递给null.这将允许您使用异步API,但在测试中获得同步行为.

和同步执行程序,如果你不知道如何制作一个:

public final class SynchronousExecutor implements Executor {  @OverrIDe public voID execute(Runnable r) {    r.run();  }}
总结

以上是内存溢出为你收集整理的Android和Java的REST客户端改造不会终止全部内容,希望文章能够帮你解决Android和Java的REST客户端改造不会终止所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1099171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存