2017-04-06 13 views
0

私はUndertow + JBossで働いていて、質問がありました。標準時刻機能は、javadocの日付と時刻をAccessLogHandlerに記録します。しかし、これはリクエストが受信された時刻かどうか、またはこれがリクエストが完了した時刻かどうかを示すためには何も見つかりません。アンダートウのアクセスログ時間は、要求の受信時間または完了の要求時間を示しますか?

私はDateTimeAttributeを見ました。これは、readAttribute()が呼び出されたときに動的に生成される統計であるようです。このメソッドは、引き波のコアコードでのカップルの十回と呼ばれるが、私は、この方法は(AccessLogHandlerで見つかった)要求/応答フローの主な利用であると信じたい:だから

private class AccessLogCompletionListener implements ExchangeCompletionListener { 
    @Override 
    public void exchangeEvent(final HttpServerExchange exchange, final NextListener nextListener) { 
     try { 
      if(predicate == null || predicate.resolve(exchange)) { 
       accessLogReceiver.logMessage(tokens.readAttribute(exchange)); 
      } 
     } finally { 
      nextListener.proceed(); 
     } 
    } 
} 

私は理解していた場合このコードは正しく、このタイムスタンプはの後にの要求が完了したと表示されます。誰もがこれが事実であることを確認できますか?

答えて

1

完了時刻です。これはPCの時計に気付くことでテストできます。サーブレットや他のUIコードにブレークポイントを設定して、Thread.sleep(30000)を実行し、アクセスログにタイムスタンプが表示されるようにします。