首页 > 解决方案 > Tomcat 未处理外部服务抛出的 500 个内部服务器代码

问题描述

我将我的应用程序部署在 Tomcat 上,它还连接到 Redis 服务器进行缓存。我面临的问题是,当 Redis 服务器由于某种原因关闭/超时时,我在应用程序网页上看到 500 内部服务器错误以及所有这些错误跟踪。在我的应用程序的 web.xml 中配置了一个自定义错误页面,当出现 500 错误代码时应该显示该页面。我还尝试在 web.xml 所在的 tomcat/conf 文件夹中放置一个默认示例错误页面,并在 web.xml 中为其配置了映射。还是没有运气。任何人都可以请建议。

映射: -

 <error-page>
  <error-code>500</error-code>
  <location>/sample.jsp</location>
</error-page>

要在本地重现和测试,在 tomcat 上启动应用程序后,我将关闭 redis-server。现在,当我尝试在网页上遍历时,它显示 500 内部服务器错误并出现 redis 连接问题,但在 tomcat 日志中不会增加并且与日志中的 redis 错误和 500 代码无关。

有关此的更多信息:当异常发生时,图块返回正确的视图名称,这是我的自定义错误页面视图,但随后它被一些后台异常管理器接管,tomcat 对其失去了控制:-

catalina-utility-1:org.apache.cataline.core.standardcontext.backgroundprocess Exception processing manager[RedissonSessionManager][standardhost:localhost][standardcontext:/applicationname]

在此之后出现与 redisson 相关的错误,并且在网页上它是相同的 500 内部服务器错误以及所有错误消息。

标签: javatomcatredis

解决方案


推荐阅读