com.amazonaws.http

## クラス IdleConnectionReaper

- java.lang.Object
- - java.lang.Thread
  - - com.amazonaws.http.IdleConnectionReaper

- すべての実装されたインタフェース:
    java.lang.Runnable

      public class IdleConnectionReaper
      extends java.lang.Thread

  デーモンスレッドは、定期的に使われていない接続のコネクションプールをチェックします。

  長時間 HTTP コネクションプールで停止状態のままの接続は、最終的に AWS の接続限界により終了し、 CLOSE_WAIT 状態になります。 この状態になった場合、ソケットはクライアント側で操作するためのリソースを用いるまで、 CLOSE_WAIT 状態になります。 CLOAE_WAIT 内にスタックされた多くのソケットは、新規作成された接続から OS を守ることができます。

  このクラスは CLOSE_WAITE 状態になる前に、空いてしまっている無駄な接続を閉じます。

  このスレッドは重要であり、デフォルトでは、 Apache の HttpClient の失敗した接続を無効にし、 バックグラウンドで動作しているスレッドを用いず、動作的でなく、古い HTTP 接続をクリーンアップします。 また、失効した接続(例： AWS 側で閉じたもの)がコネクションプールに残っている際には、入出力例外を参照してください。 そして、リクエストはリクエストを実行するためにそれらのいずれかを取得します。

- - ### ネストされたクラスの概要

    - ### クラスから継承されたネストされたクラス/インタフェース java.lang.Thread

      `java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler`

  - ### フィールドの概要

    - ### クラスから継承されたフィールド java.lang.Thread

      `MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static void` | `registerConnectionManager(org.apache.http.conn.ClientConnectionManager connectionManager)`
    `static void` | `removeConnectionManager(org.apache.http.conn.ClientConnectionManager connectionManager)`
    `void` | `run()`
    `static void` | `shutdown()` スレッドをシャットダウンし、クラスとインスタンスのデータを収集することを許可します。

    - ### クラスから継承されたメソッド java.lang.Thread

      `activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield`

    - ### クラスから継承されたメソッド java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### メソッドの詳細

    - #### registerConnectionManager

          public static void registerConnectionManager(org.apache.http.conn.ClientConnectionManager connectionManager)

    - #### removeConnectionManager

          public static void removeConnectionManager(org.apache.http.conn.ClientConnectionManager connectionManager)

    - #### run

          public void run()

      定義:
        `run` インタフェース内 `java.lang.Runnable`
      オーバーライド:
        `run` クラス内 `java.lang.Thread`

    - #### shutdown

          public static void shutdown()

      スレッドをシャットダウンし、クラスとインスタンスのデータを収集することを許可します。

      これはデーモンスレッドであるため、実行しても JVM のシャットダウンを防ぐことはできません。 ただし、それが中断されるまで、このクラスがアンロードもしくは長時間実行されているコンテキストから不要なデータを収集してしまうことから防ぎます。 このメソッドはスレッドの実行を停止し、その状態がクリアされます。 サービスクライアントを任意に使用する際に、スレッドが再開されます。