为Java Appengine中的Uncaught Exceptions提供503

时间:2012-04-02 07:34:38

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

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

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

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

2 个答案:

答案 0 :(得分:0)

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

作为一种思考的食物,我使用JAX-RS作为我的应用程序,并且使用Exception Mappers框架通过使用{{3}}非常容易拦截这样的异常。

答案 1 :(得分:0)

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

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