【发布时间】:2016-05-25 19:00:38
【问题描述】:
使用 Spring (4.0.9) 开发的 Web 应用程序部署在 tomcat (8.0.30) 上,该应用程序运行在两个节点上并使用 F5 进行负载平衡。
在生产等效环境中,应用程序按预期工作。
但是在我们的生产环境中,我们注意到应用程序在某个时间点没有一致地呈现 CSS 或 JS 文件。我们使用 requirejs 来解决模块化依赖。
这在 IE 11 和 Mozilla 中都会发生。
SCRIPT5022: Script error for: jquery-ui
http://requirejs.org/docs/errors.html#scripterror
在 Spring 中,我们在类级别使用 @controlleradvice 注释全局处理异常,并且
@ExceptionHandler(Exception.class)
public ModelAndView handleException(Exception exe,HttpServletRequest request){
//some logger to print the request.getRequestURL()
}
当出现问题时,request.getRequestURL() 在记录器中返回空指针异常。
我们一无所知,我们确信数据库中没有问题。 会不会有端口问题?对此的任何帮助表示赞赏。
最新更新:1
在我们重新启动应用程序后,问题消失了,但在退出后有时会弹出相同的问题,日志消息有
30-May-2016 19:00:28.392 INFO [http-nio-portNum-exec-4] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header
Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
java.lang.IllegalStateException: Unexpected state: headers already parsed. Buffer not recycled?
根据进一步要求,我们发现 js 或 CSS 未正确加载到浏览器中。
我们用于在日志中获取以下消息
org.apache.coyote.http11.AbstractHttp11Processor.endRequest Error finishing response
java.lang.NullPointerException
at org.apache.coyote.http11.InternalNioOutputBuffer.flushBuffer(InternalNioOutputBuffer.java:234)
这里的任何帮助都会有所帮助。
【问题讨论】:
-
有趣的是,在 tomcat 中停止和启动应用程序,没有任何问题。但仍在寻找发生了什么。
-
我们迁移到一个新的 linux 服务器,当我们禁用服务器中的 iptables 时,我们注意到我们没有收到异常消息。这是一个偶然的观察,iptables 在安全更新期间被关闭,我们没有收到那些通知邮件。大约 2 周后,当我们启动 iptables 时,我们开始收到通知。现在我们已经关闭了这些服务器中的 iptables,并且正常工作。
标签: javascript spring tomcat tomcat8