2016-12-28 45 views
0

に許可されていませんが、この迷惑なエラーの病気になった:のTomcat:改造がロックされたParameterMap

java.lang.IllegalStateException: No modifications are allowed to a locked ParameterMap 
at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:164) 
at org.springframework.data.rest.webmvc.RestRepositoryEntityController.getParametersForPostAction(RestRepositoryEntityController.java:182) 
at org.springframework.data.rest.webmvc.RestRepositoryEntityController.performPostAction(RestRepositoryEntityController.java:158) 
at org.springframework.data.rest.webmvc.RestRepositoryEntityController.performOneArgumentPostRepositoryAction(RestRepositoryEntityController.java:90) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at java.lang.reflect.Method.invoke(Method.java:606) 
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) 
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) 
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:776) 
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:705) 
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) 
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) 
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966) 
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) 
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:747) 
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:485) 
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:410) 
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:337) 

私はいくつかの残りのリソースにアクセスしようとした後、これを取得しています。 すべてが本番環境で正常に動作するため、私のローカルPCにいくつかのTomcatの問題があると思います。 回答を検索するのに2時間を費やしましたが、成功しませんでした。

誰も同じエラーが発生しましたか? ヘルプが必要です。

+0

私はあなたにいくつかのParameterMapをリサイクル/再利用しようとしているようですが、エラーメッセージのようにはできません。新しいParameterMapを作成してみてください –

答えて

1

request.getParameterMap()に変数のいずれかを割り当てている可能性があります。その代わりに時々、これは

0

がこのような行為のいずれかの理由を見つけることができませんでしたあなたの問題解決することがあり

Map<String, String[]> map = new HashMap<>(request.getParameterMap()); 

which will only create a copy of it. 

を使用してみてください。 私が助けた唯一の事は - 7.0.68から7.0.61に変更しました

関連する問題