【问题标题】:Serve a 503 for Uncaught Exceptions in Java Appengine为 Java Appengine 中的未捕获异常提供 503
【发布时间】:2012-04-02 07:34:38
【问题描述】:

我想为我的任何抛出未捕获异常的 java appengine servlet 提供状态 503 错误。目前他们扔了 500 个。

有关原因的更多详细信息:我有一个客户端应用程序对我的 appengine 应用程序进行 ajax 调用。有时 appengine 本身(不是我的 servlet)会抛出 500 错误,因为 appengine 暂时出现了问题。当我的 servlet 代码中出现错误并抛出未捕获的异常时,我的应用程序也会抛出 500 个错误。我希望客户能够区分两者,因为对于前者它可以重试,而对于后者它不应该。因此,我希望抛出的异常导致状态码不是 500。

我知道我可以在我的 servlet 中的 doGet 和 doPost 中放置一个 try catch,但是我有一堆 servlet,并且不想在每个 servlet 中都放置一个 try catch。这可以以某种方式配置吗?

【问题讨论】:

    标签: java google-app-engine webserver custom-error-pages custom-errors


    【解决方案1】:

    GAE/J 基本上是一个 Jetty 服务器,您是否尝试过按照 Jetty 文档页面 How to Create Custom Error Pages 中的步骤操作?

    作为一个深思熟虑,我在我的应用程序中使用 JAX-RS,通过使用Exception Mappers,框架可以很容易地拦截这样的异常。

    【讨论】:

      【解决方案2】:

      在这里找到答案:GAE how to see production exceptions?

      基本上只是设置一个首先运行并捕获所有异常的过滤器。

      【讨论】:

        猜你喜欢
        • 2015-01-04
        • 2016-09-07
        • 2010-11-25
        • 2012-10-26
        • 1970-01-01
        • 2015-07-04
        • 2016-02-24
        • 2014-03-22
        • 1970-01-01
        相关资源
        最近更新 更多