【发布时间】:2012-02-20 21:51:38
【问题描述】:
我们正在开发一个使用 tomcat servlet 容器和 Jersey 作为 RESTful 服务引擎的 Web 应用程序。该应用程序部署在两个 tomcat 节点上,通过它们前面的单个 apache 网络服务器和 mod_proxy 作为负载平衡器访问。
在系统负载中等的情况下(数千名用户查询应用程序),catalina.out 日志文件中有时会出现以下错误,我们无法理解。处理器负载
3131392:27.Apr 17:20:05.827 ERROR ContainerResponse - The exception contained within MappableContainerException could not be mapped to a response, re-throwing to the HTTP container
3131393-java.io.IOException
3131394- at org.apache.jk.common.JkInputStream.receive(JkInputStream.java:205)
3131395- at org.apache.jk.common.JkInputStream.doRead(JkInputStream.java:179)
3131396- at org.apache.coyote.Request.doRead(Request.java:428)
3131397- at org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:304)
3131398- at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:405)
3131399- at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:327)
3131400- at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:162)
3131401- at com.sun.jersey.core.util.ReaderWriter.writeTo(ReaderWriter.java:114)
3131402- at com.sun.jersey.core.provider.AbstractMessageReaderWriterProvider.writeTo(AbstractMessageReaderWriterProvider.java:76)
3131403- at com.sun.jersey.core.impl.provider.entity.ByteArrayProvider.readFrom(ByteArrayProvider.java:79)
3131404- at com.sun.jersey.core.impl.provider.entity.ByteArrayProvider.readFrom(ByteArrayProvider.java:59)
3131405- at com.sun.jersey.spi.container.ContainerRequest.getEntity(ContainerRequest.java:456)
3131406- at com.sun.jersey.server.impl.model.method.dispatch.EntityParamDispatchProvider$EntityInjectable.getValue(EntityParamDispatchProvider.java:123)
3131407- at com.sun.jersey.server.impl.inject.InjectableValuesProvider.getInjectableValues(InjectableValuesProvider.java:46)
3131408- at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$EntityParamInInvoker.getParams(AbstractResourceMethodDispatchProvider.java:138)
3131409- at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
3131410- at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:71)
3131411- at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:280)
3131412- at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
3131413- at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
3131414- at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
3131415- at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
3131416- at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1341)
3131417- at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1273)
3131418- at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1223)
3131419- at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1213)
3131420- at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:414)
3131421- at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:537)
3131422- at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:699)
【问题讨论】:
标签: apache tomcat jersey load-testing