2017-10-23 16 views
0

私はAWS Elastic Beanstalkでに展開し、次のコードしているに展開した後、いくつかの時間を働いて停止しました。しかし、しばらくして(約1時間)、それはもはやhandleNotFoundによって捕らえられず、代わりに500を返すようになる。私はそれがAWSのEB問題か春の問題かはわかりません。誰も前に同様の問題に直面していますか?ありがとう!春@ControllerAdviseは、AWS EB

更新:

さらに調査した後、私はそれが時間ごとにAWS EBログローテーションの後に起こった疑い。

404に寄与して午前10時から始まる最初のログ:

2017-10-23_10:03:14.957 [qtp739973450-13] DEBUG o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver.resolveException - Resolving exception from handler ... 
2017-10-23_10:03:14.958 [qtp739973450-13] DEBUG o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver.doResolveHandlerMethodException - Invoking @ExceptionHandler method: ... 

500に寄与して午前11時から始まる次のログを:

2017-10-23_11:45:38.990 [qtp739973450-14] DEBUG o.s.w.s.m.m.a.ExceptionHandlerExceptionResolver.resolveException - Resolving exception from handler ... 
2017-10-23_11:45:38.990 [qtp739973450-14] DEBUG o.s.w.s.m.a.ResponseStatusExceptionResolver.resolveException - Resolving exception from handler ... 
2017-10-23_11:45:38.991 [qtp739973450-14] DEBUG o.s.w.s.m.s.DefaultHandlerExceptionResolver.resolveException - Resolving exception from handler ... 

秒1はしなかったように見えます代わりに@ExceptionHandlerメソッドを見つけて、デフォルトを代わりに使用しました。

更新:

今日私は別の奇妙な動作をしました。別の方法は、以下のように409応答を返す同じクラスにあります:

@ExceptionHandler(value = DataExistsException.class) 
public ResponseEntity<RestError> handleDataExists(HttpServletRequest req, DataExistsException ex) { 

    RestError restError = ... 

    return new ResponseEntity<>(restError, HttpStatus.CONFLICT); 
} 

展開後しばらくは、この1は500の代わりに409を(春はこのExceptionHandlerを見つけることができません)与えることを開始します。同時に、handleNotFoundはまだ404を正しく返しています...

+0

ログを提供することはできますか? – Leffchik

+0

@Leffchikスタックトレースは '@ ControllerAdvice'によってもはや捕らえられていないので、' NotFoundException'からのものです。何かが404から500への変更を引き起こしたかどうかを探そうとしていますが、これまで関連するログはありません...デバッグにはどの方向に進むべきか、私に教えてください。ありがとう! –

+0

Springログ(org.springframework)のログレベルをデバッグレベルに変更し、何が起きているのかを確認します。 –

答えて

0

実際には5.0 RC4で修正されたSpringのbugです。

関連する問題