我们使用Jetty作为Servlet容器,使用Jersey作为我们的jax-rs实现。我们在实验室没有遇到任何问题。在Prod中,我们遇到了PUT和GET操作的间歇性http 404错误。以下是来自jetty std err log的示例日志行。
/opt/apps/someapp/deploymenthome/logs/2016_02_15.stderrout.log:2016-02-15 10:54:42.995:DBUG:oejs.HttpConnection:qtp1968511784-22 - /someapp/resourceName/resourceId=1234: org.eclipse.jetty.server.HttpConnection$SendCallback@6592296c[PROCESSING][i=ResponseInfo{HTTP/1.1 404 Not Found,350,false},cb=org.eclipse.jetty.server.HttpChannel$CommitCallback@699dc1f4] generate: FLUSH ([p=0,l=259,c=8192,r=259],[p=0,l=350,c=8192,r=350],true)@COMPLETING
当我使用POSTMAN对实际实例尝试URI / someapp / resourceName / resourceId = 1234时,我得到了一个很好的响应。 有关进一步调试此问题的任何指示都将非常有用。
在客户端,他们看到类似的东西。
message="<html><head><meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"/><title>Error 404 </title></head><body><h2>HTTP ERROR: 404</h2><p>Problem accessing /someService/resourceName/1234/subResource1/subResource2. Reason:<pre> Not Found</pre></p><hr /><i><small>Powered by Jetty://</small></i></body></html>”
稍后,再次尝试相同的请求并成功。