JavaのHttpClientを利用して「Too many open files」が出た場合の対処方法2
JavaのHttpClientを利用して「Too many open files」が出た場合の対処方法2
Httpクライアントを通信の度に都度初期化している場合
前回の記事でファイルディスクリプタの上限を変更して対応する方法を紹介しましたが、実際はHttpクライアントを通信の度にインスタンスを生成していることによって発生している場合があります。
通信用のクライアントを複数作成することで、ソケット通信用のファイルが多量に作られるため発生することが考えられます。
そういった場合はHttpクライアントを通信の度に都度初期化せず、以下のようにスレッドセーフなクライアントを初期化し使いまわすことによって解決することが可能です。
サンプルコード
以下のようにスレッドセーフな初期化をし、使いまわすことで対応することが可能です。
0コメント