Android Retrofit okhttp error -
i using retrofit , okhttp network requests in app. while trying make login request, see when fresh install, works fine. 200 response when try log out , log in, exception in logs.has see such issue. please help.
java.lang.illegalstateexception: cache closed d/retrofit: @ com.squareup.okhttp.internal.disklrucache.checknotclosed(disklrucache.java:630) d/retrofit: @ com.squareup.okhttp.internal.disklrucache.get(disklrucache.java:424) d/retrofit: @ com.squareup.okhttp.cache.get(cache.java:184) d/retrofit: @ com.squareup.okhttp.cache$1.get(cache.java:139) d/retrofit: @ com.squareup.okhttp.internal.http.httpengine.sendrequest(httpengine.java:226) d/retrofit: @ com.squareup.okhttp.call.getresponse(call.java:267) d/retrofit: @ com.squareup.okhttp.call$applicationinterceptorchain.proceed(call.java:224) d/retrofit: @ com.squareup.okhttp.call.getresponsewithinterceptorchain(call.java:195) d/retrofit: @ com.squareup.okhttp.call.execute(call.java:79) d/retrofit: @ retrofit.client.okclient.execute(okclient.java:53) d/retrofit: @ retrofit.restadapter$resthandler.invokerequest(restadapter.java:326) d/retrofit: @ retrofit.restadapter$resthandler.invoke(restadapter.java:240) d/retrofit: @ java.lang.reflect.proxy.invoke(proxy.java:397) d/retrofit: @ $proxy3.storelist(unknown source) i resolved bug. not setting "ref" null when log out , close disk. hence when log in, caused exception.
restadapter restadapter = new restadapter.builder() .setconverter(new gsonconverter(new gson())) .setexecutors(newasyncexecutor(), useasynccallbacks ? newasyncexecutor() : newmainthreadexecutor()) .setclient(getretrofitclient()) .setendpoint(serverurl) .setrequestinterceptor(new requestinterceptor() { @override public void intercept(requestfacade requestfacade) { requestfacade.addheader("accept", "application/json"); } }); myclass ref = restadapter.create(myclass.class);
here problem disklrucache class:
/** returns true if cache has been closed. */ public synchronized boolean isclosed() { return closed; } private synchronized void checknotclosed() { if (isclosed()) { throw new illegalstateexception("cache closed"); } } so think, better give answer on how handle situation give errors, should post piece of code error.
Comments
Post a Comment