Serialize java.lang.Throwable junto com o rastreamento de pilha, causa rastreamentos de cadeia e de pilha relacionados

estou escrevendoGWT aplicativo onde eu preciso enviar instância dejava.lang.Throwable (com cadeia de écausas e tudotraços de pilha respectivamente) usandoGWT RPC que usa o mecanismo de serialização Java padrão (no que me diz respeito).

O problema é que, quando passo a seguir a exceção de amostrado cliente:

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

no servidor Eu recebo o seguinte:

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

Ondestacktrace X é simplesmente o rastreamento de pilha que leva ao local onde essa exceção foi desserializada no servidor, ou seja, sem considerar os rastreamentos de pilha originais A, B ou C.as informações do stacktrace são perdidas junto com a cadeia de causas.

Depois de ler excelente artigo7 dicas para lidar com exceções no GWT foi descoberto que

o rastreamento de pilha dentro de uma exceção é transitório e, portanto, é perdido do cliente para o servidor (portanto, se você precisar no lado do servidor, envie-o como um parâmetro separado)

Depois de pesquisar um pouco, cheguei à conclusão de que o tópicoserialização total / desserialização instâncias dejava.lang.Throwable usando a técnica de serialização Java padrão énão é tão popular. Na verdade, não consegui encontrar nem bibliotecas nem blogs com descrição detalhada de como conseguir isso.

Alguém já se meteu e resolveu esse problema antes? Existem soluções sugeridas para esse problema?

Desde já, obrigado!

questionAnswers(3)

yourAnswerToTheQuestion