我们的网络应用程序出现了非常奇怪的情况。它使用 Tomcat 6,Web 服务是用 Jersey 实现的。下面的服务调用旨在返回 JSON 数据。
以下抛出 OOM 异常:
http://mywebservices/get/some/data/for/1
http://mywebservices/get/some/more/data/for/12345
http://mywebservices/get/some/other/data/for/abc
但是,以下工作正常:
http://mywebservices/get/some/data/for/12345
http://mywebservices/get/some/more/data/for/1
这些只是为了显示正在发生的事情而编造的电话。我们有实时监控服务,可显示约 5 GB 的 JVM 可用内存。我们认为 Tomcat 向我们抛出的 OOM 是虚假/不正确的响应。有趣的是,即使对于完全不同的 Web 服务,浏览器上显示的堆栈跟踪也保持不变。我们非常确定我们看到了与 Web 服务请求完全无关的跟踪。所以我们正在弄清楚我们是否真的有泄漏。
同时,很高兴知道是否有人以前遇到过这种情况。
谢谢。