春のポートレット mvc アプリケーションがあります。Ajax リクエストを使用してリソース URL に GET リクエストを送信し、Spring Jackson マッパー(MappingJacksonJsonView) クラスを使用して json を返す jsp があります。GET リクエストは非常に遅く、実行に数秒かかることがあります。ユースケースに気付きました。
- アプリケーションで AJAX 送信リンクをクリックします
- リクエストが完了する前にページを更新します
- 上記の手順を繰り返します
サーバーが不正な状態例外のスローを開始するとログに記録します
原因: java.lang.IllegalStateException: getOutputStream() は、org.apache.catalina.connector.Response.getWriter(Response.java:611) の org.apache.catalina.connector.ResponseFacade.getWriter で、この応答に対して既に呼び出されています(ResponseFacade.java:198) javax.servlet.ServletResponseWrapper.getWriter(ServletResponseWrapper.java:112) で
Spring は出力リーダーとライターの作成と削除を担当しているため、不正な例外をキャッチできないため、正確な問題が発生している場所を特定するのが難しいと感じています。
任意の提案やヘルプをいただければ幸いです.Thanks.