2017-08-18 3 views
0

ジャージーサーバに私は、サーバー500のエラーがあります:サーバーの応答ドントでJerseyで500のサーバエラーが発生した場合、スタックトレースを取得するにはどうすればよいですか?

  • は、トレースまたはいくつかの情報をスタックしています。 Eclipseのコンソールドントで

  • 例外スタックトレース

を持っている私は、コンソールでサーバーとプリントトレースに例外をキャッチしようとするが、何も私は、スタックトレースを取得できますか

を起こりません500サーバーエラーが発生しますか?

+0

例外である必要はありません。あなたが何をしているのか、何をしているのかを見てください。次に、サーバーコードをデバッグします。 – Fildor

+0

私はこの問題の原因を1日間見てみようとしてきました。私はトレースが必要です。サーバが応答して失敗する "return MyObject" – user2983041

+0

実稼働サーバであるか、開発中で実行中ですか?デバッガを使用してブレークポイントを設定できますか?これは例外です:例外でない場合は、トレースを取得しません...実際に例外(それは飲み込まれているが処理されている)場合は、トレースを取得するためにスローされる場所を見つける必要があります。しかし、もしあなたがそれをしたら、あなたはすでにどこを見るかを知っています... – Fildor

答えて

1

ほとんどの場合、一般的なExceptionMapperがこのトリックを行います。例外がマッピングされていないとき

@Provider 
public class DebugMapper implements ExceptionMapper<Throwable> { 
    @Override 
    public Response toResponse(Throwable t) { 
     t.printStackTrace() 
     return Response.serverError() 
      .entity(t.getMessage()) 
      .build(); 
    } 
} 

は、それからちょうどそれを

ResourceConfig config = new ResourceConfig() 
     .register(DebugMapper.class); 

を登録いつか例外はジャージーに飲み込まれます、そして、あなたは何が起こったのか表示されません。これは通常、問題がジャージーレベルにあるときに機能します。

+0

はい、今は私のEclipseコンソールにトレースがあります。 – user2983041

関連する問題