wbsh583
wbsh583
2010-03-16 17:37
浏览 377
已采纳

Cannot find message associated with key parameterMap.locked

这个问题也是单独运行没有出现但是压力测试下就出现了这样的错误了
java.lang.IllegalStateException: Cannot find message associated with key parameterMap.locked
at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:165)
at org.apache.coyote.tomcat5.CoyoteRequest.getParameterMap(CoyoteRequest.java:1099)
at org.apache.coyote.tomcat5.CoyoteRequestFacade.getParameterMap(CoyoteRequestFacade.java:307)
at org.apache.catalina.core.ApplicationHttpRequest.parseParameters(ApplicationHttpRequest.java:664)
at org.apache.catalina.core.ApplicationHttpRequest.getParameterMap(ApplicationHttpRequest.java:372)
at org.apache.catalina.core.ApplicationHttpRequest.parseParameters(ApplicationHttpRequest.java:664)
at org.apache.catalina.core.ApplicationHttpRequest.getParameterNames(ApplicationHttpRequest.java:384)
at cn.yfss.base.context.impl.WebRequestContext.getJModel(WebRequestContext.java:97)
at cn.yfss.base.BaseController.handle(BaseController.java:59)
at cn.yfss.base.BaseController.handleRequestInternal(BaseController.java:53)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:857)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:461)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:416)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:510)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.acquireString(ImportSupport.java:296)
at org.apache.taglibs.standard.tag.common.core.ImportSupport.doEndTag(ImportSupport.java:161)
at org.apache.jsp.WEB_002dINF.view.web.beforeIndex_jsp._jspx_meth_c_import_0(beforeIndex_jsp.java:1703)
at org.apache.jsp.WEB_002dINF.view.web.beforeIndex_jsp._jspService(beforeIndex_jsp.java:218)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:142)
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:243)
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1141)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:878)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:461)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:416)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at cn.yfss.filter.LimitUserEchoLoginFilter.doFilter(LimitUserEchoLoginFilter.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at cn.yfss.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:44)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • wanghaolovezlq
    wanghaolovezlq 2010-03-16 17:50
    已采纳

    at cn.yfss.base.context.impl.WebRequestContext.getJModel(WebRequestContext.java:97)
    这个方法好好查查,应该就是没做同步处理

    点赞 评论
  • iteye_13500
    iteye_13500 2010-03-16 18:47

    看这篇文章
    http://qingfeng825.iteye.com/blog/356021

    看是否在你的应用中使用了
    request.getParameterMap()

    但在后面修改了这个map。

    点赞 评论
  • iteye_13500
    iteye_13500 2010-03-17 09:38

    [quote]我没有用那个方法只是用的request.getParameter(""); [/quote]

    你再仔细查查,看你上面贴的异常的第二行

    [quote]at org.apache.catalina.util.ParameterMap.put(ParameterMap.java:165) [/quote]

    应该是你使用

    [code="java"]Enumeration e = request.getParameterNames(); [/code]

    取出map后,后来又调用了它的put方法,或者你调用了getJModel()返回一个map,是否后来又改过这个map的值。

    点赞 评论
  • iteye_13500
    iteye_13500 2010-03-17 10:16

    [code="java"]this.jmodel.putAll(request.getJModel()); [/code]

    jmodel在哪里定义的(因为你用的是this.jmodel),是不是被各个线程共享的,如果是,可能会有并发问题,检查一下。

    点赞 评论
  • iteye_13500
    iteye_13500 2010-03-17 11:57

    [code="java"]this.jmodel.putAll(request.getJModel());[/code]

    把这句话去掉看是否还有并发问题吧。

    点赞 评论

相关推荐