9.10 ユーザ作成スレッドおよび非同期処理API利用上の注意事項
「9.6 HTTPリクエストおよびサーブレット・フィルタのトレース」で示した,アプリケーション情報の引き継ぎまたは採番をしたスレッド外で,トレース情報を取得した場合の注意事項を示します。
-
ユーザ作成スレッド上でトレースを取得する場合
スレッド作成元にアプリケーション情報が設定されている場合,アプリケーション情報を引き継いで取得します。スレッド作成時点のアプリケーション情報を引き継ぐため,リクエスト処理が完了済みでも,スレッド作成時点のリクエストに対応するアプリケーション情報を取得します。
-
javax.servlet.AsyncContextのstartメソッドに指定している,java.lang.Runnableを実装したオブジェクトのrunメソッド上でトレースを取得する場合
アプリケーション情報を引き継ぎません。クライアントアプリケーション情報およびルートアプリケーション情報を情報なし(0.0.0.0,0,0x0000000000000000)として扱います。
なお,「HTTPリクエストおよびサーブレット・フィルタのトレース(0xe230〜0xe241)」については,非同期リクエストモードに変更した(javax.servlet.ServletRequest.startAsyncメソッドを呼び出した)場合も正しいアプリケーション情報を取得します。