我部署了个rop应用,最近经常性报错,重启下就好了!!然后过断时间又出了异常
sa360430
2014-11-03
我这边用rop已经有小半年了,最近经常报这个异常,没查到具体原因!!!
@stamen 帮忙看看!!多谢 我这边所用的版本是rop-1.0.2-SNAPSHOT.jar java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:232) at java.util.concurrent.FutureTask.get(FutureTask.java:91) at com.rop.impl.AnnotationServletServiceRouter.service(AnnotationServletServiceRouter.java:131) at com.rop.RopServlet.service(RopServlet.java:50) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 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.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.NullPointerException at com.rop.impl.AnnotationServletServiceRouter.invokeBeforceResponseOfInterceptors(AnnotationServletServiceRouter.java:551) at com.rop.impl.AnnotationServletServiceRouter.access$8(AnnotationServletServiceRouter.java:550) at com.rop.impl.AnnotationServletServiceRouter$ServiceRunnable.run(AnnotationServletServiceRouter.java:432) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) ... 3 more |
|
sa360430
2014-11-06
木有人遇到过这情况么!!
|
|
stamen
2014-11-06
是不是压力负载大了 才有这个问题呢?
如果是的话,请将线程池的核心线程数加大,默认才10,生产环境下可以调整为400. <rop:annotation-driven core-pool-size="${rop.corePoolSize}" <== 这个数值调整为400! max-pool-size="${rop.maxPoolSize}" queue-capacity="${rop.queueCapacity}" keep-alive-seconds="${rop.keepAliveSeconds}" upload-file-max-size="${rop.uploadFileMaxSize}" upload-file-types="${rop.uploadFileTypes}" thread-ferry-class="${rop.threadFerryClass}" sign-enable="${rop.signEnable}" ext-error-base-names="${rop.customErrorBasenames}" service-timeout-seconds="${rop.serviceTimeoutSeconds}" session-manager="sessionManager" app-secret-manager="appSecretManager" formatting-conversion-service="conversionService"/> |
|
sa360430
2014-11-06
stamen 写道 是不是压力负载大了 才有这个问题呢?
如果是的话,请将线程池的核心线程数加大,默认才10,生产环境下可以调整为400. <rop:annotation-driven core-pool-size="${rop.corePoolSize}" <== 这个数值调整为400! max-pool-size="${rop.maxPoolSize}" queue-capacity="${rop.queueCapacity}" keep-alive-seconds="${rop.keepAliveSeconds}" upload-file-max-size="${rop.uploadFileMaxSize}" upload-file-types="${rop.uploadFileTypes}" thread-ferry-class="${rop.threadFerryClass}" sign-enable="${rop.signEnable}" ext-error-base-names="${rop.customErrorBasenames}" service-timeout-seconds="${rop.serviceTimeoutSeconds}" session-manager="sessionManager" app-secret-manager="appSecretManager" formatting-conversion-service="conversionService"/> core-pool-size 等几个参数也设置过好多情况,但是还是不行,我用apache-jmeter做了个压力测试,出错是有规律的,每提交一定次数请求大概6-7百次,然后请求就报错,连续6-7百次后,又能正常返回结果,然后反复这样!! |
|
sa360430
2014-11-09
找到原因了,因为我的redis的异常引起的!!但是为啥没把原始错误抛出来啊??
|