Сериализация java.lang.Throwable вместе с трассировкой стека, вызывает цепочку и связанные трассировки стека

я пишуGWT приложение, где мне нужно отправить экземплярjava.lang.Throwable (с цепочкойпричины и всеследы стека соответственно) используяGWT RPC который использует стандартный механизм сериализации Java (насколько я понимаю).

Проблема в том, что когда я прохожу следующий пример исключенияот клиента:

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

на сервере Я получаю следующее:

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

гдеstacktrace X это просто трассировка стека, приводящая к месту, где это исключение было десериализовано на сервере, т.е. безотносительно к исходным трассировкам стека A, B или C.информация трассировки стека потеряна наряду с цепью причин.

После прочтения превосходной статьи7 советов по обработке исключений в GWT выяснилось, что

трассировка стека в исключении является временной и поэтому теряется от клиента к серверу (поэтому, если вам это нужно на стороне сервера, отправьте его как отдельный параметр)

После небольшого поиска, я пришел к выводу, что темаполная сериализация / десериализация случаиjava.lang.Throwable используя стандартную технику сериализации Java являетсяне очень популярный, На самом деле я не смог найти ни библиотек, ни блогов с подробным описанием того, как этого добиться.

Кто-нибудь сталкивался и решал такую ​​проблему раньше? Есть ли предложенные решения этой проблемы?

Заранее спасибо!

Ответы на вопрос(3)

Ваш ответ на вопрос