GVKun编程网logo

带有响应参数的方法中的IllegalStateException(响应方式)

15

对于想了解带有响应参数的方法中的IllegalStateException的读者,本文将提供新的信息,我们将详细介绍响应方式,并且为您提供关于android–使用PagerAdapter的Illega

对于想了解带有响应参数的方法中的IllegalStateException的读者,本文将提供新的信息,我们将详细介绍响应方式,并且为您提供关于android – 使用PagerAdapter的IllegalStateException、ava.lang.IllegalStateException、IllegalStateException片段已添加、IllegalStateException:无法自省类的有价值信息。

本文目录一览:

带有响应参数的方法中的IllegalStateException(响应方式)

带有响应参数的方法中的IllegalStateException(响应方式)

我编写了一个简单的类来测试响应读取实体方法(如果它按我的预期工作)。但是效果不佳。

当我启动课程时,出现以下错误response.readEntity()

Exception in thread "main" java.lang.IllegalStateException: Method not

supported on an outbound message.
at
org.glassfish.jersey.message.internal.OutboundJaxrsResponse.readEntity(OutboundJaxrsResponse.java:150)

这是我写的代码

public static void main(String[] args) {        List<Entity> representations = new ArrayList<>();        representations.add(new Entity("foo", "baz", false));        representations.add(new Entity("foo1", "baz1", true));        representations.add(new Entity("foo2", "baz2", false));        Response build = Response.ok(representations).build();        printEntitesFromResponse(build);    }public static void printEntitesFromResponse(Response response) {        response                .readEntity(new GenericType<List<Entity>>() {})                .stream()                .forEach(entity -> System.out.println(entity));    }

我究竟做错了什么?

答案1

小编典典

Responsees 有两种类型,入站和出站,尽管它们仍使用相同的接口。出站是从服务器发送响应时

Response response = Response.ok(entity).build();

入站是指您在客户端上收到响应时。

Response response = webTarget.request().get();

readEntity在服务器端出站响应上禁用了该方法,因为您不需要它。仅在需要对响应流的响应进行_de_serialize时使用。但是出站时没有任何东西。

如果您希望实体出站响应,只需使用
Response#getEntity()

android – 使用PagerAdapter的IllegalStateException

android – 使用PagerAdapter的IllegalStateException

我在这个活动中得到一个IllegalStateException,但不能确定发生了什么.这是QuickContactActivity中的ViewPagerAdapter类.
private class ViewPagerAdapter extends FragmentPagerAdapter {
    public ViewPagerAdapter(FragmentManager fragmentManager) {
        super(fragmentManager);
    }

    @Override
    public Fragment getItem(int position) {
        QuickContactListFragment fragment = new QuickContactListFragment();
        final String mimeType = mSortedActionMimeTypes.get(position);
        final List<Action> actions = mActions.get(mimeType);
        fragment.setActions(actions);
        return fragment;
    }

    @Override
    public int getCount() {
        return mSortedActionMimeTypes.size();
    }
}

这是崩溃日志:

07-15 09:49:21.060: E/com.##.##.##.Application(12378): Thread uncaught exception:
07-15 09:49:21.060: E/com.##.##.##.Application(12378): java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 0,found: 1 Pager id: com.##.##.android:id/item_list_pager Pager class: class android.support.v4.view.ViewPager Problematic adapter: class com.##.contacts.quickcontact.QuickContactActivity$ViewPagerAdapter
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.support.v4.view.ViewPager.populate(ViewPager.java:959)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.support.v4.view.ViewPager.populate(ViewPager.java:911)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1432)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.View.measure(View.java:15518)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.View.measure(View.java:15518)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.View.measure(View.java:15518)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.View.measure(View.java:15518)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.View.measure(View.java:15518)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4825)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2176)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.View.measure(View.java:15518)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1874)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1089)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1265)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:989)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4351)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:749)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.Choreographer.doCallbacks(Choreographer.java:562)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.Choreographer.doFrame(Choreographer.java:532)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.view.Choreographer$FramedisplayEventReceiver.run(Choreographer.java:735)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.os.Handler.handleCallback(Handler.java:725)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.os.Handler.dispatchMessage(Handler.java:92)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.os.Looper.loop(Looper.java:137)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at android.app.ActivityThread.main(ActivityThread.java:5041)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at java.lang.reflect.Method.invokeNative(Native Method)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at java.lang.reflect.Method.invoke(Method.java:511)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
07-15 09:49:21.060: E/com.##.##.##.Application(12378):  at dalvik.system.NativeStart.main(Native Method)
07-15 09:49:21.060: E/ACRA(12378): ACRA caught a IllegalStateException exception for com.##.##.android. Building report.

解决方法

问题是您在PageAdapter中显示的项目/页面列表发生变化,您不调用pageAdapter.notifyDataSetChanged().

如果您继续阅读该消息,则表示等待0个项目并获得1.这样,您可以设置适配器,然后再设置适配器接收到的所有项目/页面.

ava.lang.IllegalStateException

ava.lang.IllegalStateException

@梦幻女侠 你好,想跟你请教个问题:


异常信息:

2012-5-29 20:53:16 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet default threw exception
java.lang.IllegalStateException
    at org.apache.catalina.connector.ResponseFacade.sendError(ResponseFacade.java:407)
    at org.apache.struts2.dispatcher.Dispatcher.sendError(Dispatcher.java:821)
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:533)
    at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
    at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)

Action代码:
public String formPreviewImg() {
            OutputStream os = null;
            try {

                FormStore formStore = StoreFactory.createFormStoreService();
                formStore.startProcess();
                form = formStore.getFormById(formId);
              //byte[] bytes = form.getUserSignImgData();
                Blob bo=form .getUserSignImgData_Blob();
                byte[] bytes=bo.getBytes(1, (int) bo.length());
                if (bytes != null && bytes.length > 0) {
                    response.setContentType("image/jpeg");
                    os = response.getOutputStream();
                    os.write(bytes);
                    os.flush();
                    os.close();

                }
                response.flushBuffer();
                bytes=null;
                formStore.endProcess();

            } catch (Exception e) {
                e.printStackTrace();
            }
           return null;
        }

struts.xml配置:

<action name="formPreviewImg" method="formPreviewImg"
             >
        </action>

jsp页面:
<td>
                                             <a href=''#pic_<s:property value="#st.index"/>'' name=''small_pic_<s:property value="#st.index"/>'' id=''small_pic_<s:property value="#st.index"/>''><img
                                                src=''../form/formPreviewImg.action?formId=<s:property value="#form.id"/>''
                                               alt="查看原图" /> </a>
                                               <div id=''pic_<s:property value="#st.index"/>''>
                                                       <img
                                                         src=''../form/formPreviewImg.action?formId=<s:property value="#form.id"/>''
                                                          />
                                                    </div>   

IllegalStateException片段已添加

IllegalStateException片段已添加

正确,我们的crashlytics日志中也有相同的异常。解决它的方法很少。

1。

因此,在大多数情况下,这是因为commitAllowingStateLoss()。这不仅是因为文档所述的交易过程中的“保存状态”。它将使用先前的状态来重新创建Fragment,根据我们的经验,它与流程或Fragment交易直接相关。

所以首先。删除它的用法,然后修复您的交易状态设置。您不想在片段可能位于堆栈中的位置使用commitAllowingStateLoss(),而是要重用它。 (就像上面的代码段一样。)

2。

我很确定您的问题是由上述第1点引起的。但是,还有另一个原因已经在评论中提到。 FragmentTransactions是异步提交的。因此,您需要致电executePendingTransactions(),有关更多信息,请参考here。

IllegalStateException:无法自省类

IllegalStateException:无法自省类

通过如下更改server.xml来解决它

<library id="extension">
    <fileset dir="${server.config.dir}/ext" includes="*.jar" scanInterval="5s" />
</library>
    
<webApplication id="Myapp" location="Myapp.war" type="war" name="Myapp" contextRoot="/resources">
    <classloader commonLibraryRef="extension" delegation="parentFirst"/>
</webApplication>

今天关于带有响应参数的方法中的IllegalStateException响应方式的分享就到这里,希望大家有所收获,若想了解更多关于android – 使用PagerAdapter的IllegalStateException、ava.lang.IllegalStateException、IllegalStateException片段已添加、IllegalStateException:无法自省类等相关知识,可以在本站进行查询。

本文标签: