Fessのクローラーで Apache HttpClient 5.x をサポート

Fessのクローラーライブラリであるfess-crawlerに、Apache HttpComponents 5.x のサポートを追加しました。

これまでfess-crawlerでは Apache HttpComponents 4.x を使用していましたが、5.x系ではHTTP/2のサポートやパフォーマンスの改善など、多くの機能強化が行われています。今回の対応により、fess-crawlerでも最新のHttpClientを利用できるようになりました。

主な変更点

新しいHTTPクライアント実装

  • Hc5HttpClient – Apache HttpComponents 5.x を使用した新しいHTTPクライアント実装
  • Hc4HttpClient – 既存の4.x系実装(後方互換性のために維持)

デフォルトの切り替え

Fess 15.5からは、問題がなければHttpClient 5系をデフォルトとして使用する予定です。

後方互換性

以前のHttpClient 4系を利用したい場合は、fess_config.propertiesのクローラーオプションに以下の設定を追加することで切り替えられます。

jvm.crawler.options=\
-Dfess.crawler.http.client=hc4\n\
...

技術的な詳細

今回の実装では、既存のHcHttpClientを抽象クラスとしてリファクタリングし、共通ロジックを共有する形でHc4HttpClientHc5HttpClientを実装しています。これにより、両方のバージョンを同じインターフェースで利用でき、切り替えも容易になっています。

また、以下の機能もHttpClient 5.x向けに実装されています。

  • 認証機能(Basic、Digest、NTLM、SPNEGO)
  • フォームベース認証
  • コネクションプール監視
  • 国際化ドメイン名(IDN)対応のDNSリゾルバ

関連リンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です