Serialisieren Sie java.lang.Throwable zusammen mit dem Stack-Trace, was zu Chain- und verwandten Stack-Traces führt

ich schreibeGWT Anwendung, bei der ich eine Instanz von senden mussjava.lang.Throwable (mit seiner KetteUrsachen und allesStapelspuren jeweils) mitGWT RPC die Standard-Java-Serialisierungsmechanismus verwendet (soweit ich bin).

Das Problem ist, dass, wenn ich folgende Beispielausnahme übergebevom Kunden:

java.lang.RuntimeException (message=null, stacktrace A) caused by
java.io.IOException (message="Problems with io", stacktrace B) caused by
java.lang.IllegalStateException (message="Some error text", stacktrace C), cause=null

auf dem Server Ich bekomme folgendes:

java.lang.RuntimeException (message="java.io.IOException: Problems with io", stacktrace X) cause=this

wostacktrace X ist einfach eine Stapelverfolgung, die zu dem Ort führt, an dem diese Ausnahme auf dem Server deserialisiert wurde, d. h. ohne Rücksicht auf die ursprünglichen Stapelverfolgungen A, B oder C. AlsoStacktrace-Informationen gehen verloren zusammen mit Ursachen Kette.

Nach dem Lesen eines hervorragenden Artikels7 Tipps zur Ausnahmebehandlung in GWT es wurde herausgefunden, dass

Der Stack-Trace innerhalb einer Ausnahme ist vorübergehend und geht vom Client zum Server verloren. Wenn Sie ihn also auf der Serverseite benötigen, senden Sie ihn als separaten Parameter.

Nachdem ich ein bisschen gegoogelt hatte, kam ich zu dem Schluss, dass das Themavollständig serialisieren / deserialisieren Instanzen vonjava.lang.Throwable mit Standard-Java-Serialisierungstechnik istnicht so beliebt. Eigentlich konnte ich weder Bibliotheken noch Blogs mit einer detaillierten Beschreibung finden, wie dies erreicht werden kann.

Hat jemand schon einmal ein solches Problem gelöst? Gibt es Lösungsvorschläge für dieses Problem?

Danke im Voraus!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage