0

Ich würde gerne einen Status 503 Fehler für eines meiner Java-Apple-Servlets, die eine nicht abgefangene Ausnahme werfen. Derzeit werfen sie 500.Serve eine 503 für nicht abgefangene Ausnahmen in Java Appengine

Weitere Details auf warum: Ich habe eine Client-Anwendung, die Ajax Aufrufe an meine appengine App macht. Manchmal wird appengine selbst (nicht meine Servlets) 500 Fehler werfen, weil etwas mit appengine vorübergehend falsch ist. Meine Anwendung löst außerdem 500 Fehler aus, wenn ein Fehler in meinem Servlet-Code vorliegt und eine nicht abgefangene Ausnahme ausgelöst wird. Ich möchte, dass der Klient in der Lage ist, zwischen den beiden zu unterscheiden, denn für den ersten kann es eine Wiederholung versuchen, während es für den zweiten nicht sollte. Daher möchte ich, dass meine Exceptions, die ausgelöst werden, einen anderen Statuscode als 500 ergeben.

Ich weiß, ich kann einen Versuch in meinem doGet und DoPost in meinem Servlet versuchen, aber ich habe eine Reihe von Servlets und don ' Ich möchte versuchen, Fänge in jedem einzelnen Servlet zu setzen. Kann das irgendwie konfiguriert werden?

Antwort

0

GAE/J ist im Grunde ein Jetty-Server, haben Sie versucht, die Schritte in auf Jetty's Doc-Seite zu folgen?

Als Denkanstoß verwende ich JAX-RS für meine App, und das Framework, das das Abfangen von Ausnahmen wie diesem macht, ist sehr einfach durch die Verwendung von Exception Mappers.