17.6. サーブレット拡張の設定
サーブレット拡張は、サーブレットデプロイメントプロセスへのフックや、サーブレットデプロイメントの変更を可能にします。これは、追加の認証メカニズムをデプロイメントに追加する必要がある場合や、ネイティブ Undertow ハンドラーをサーブレットデプロイメントの一部として使用する必要がある場合などに便利です。
カスタムサーブレット拡張を作成するには、io.undertow.servlet.ServletExtension
インターフェイスを実装した後、実装クラスの名前をデプロイメントの META-INF/services/io.undertow.servlet.ServletExtension
ファイルに追加する必要があります。さらに、ServletExtension
実装のコンパイルされたクラスファイルを含める必要もあります。Undertow がサーブレットをデプロイすると、deployments
クラ出力ダーからすべてのサービスをロードし、それらの handleDeployment
メソッドを呼び出します。
デプロイメントの完全かつ変更可能な記述が含まれる Undertow DeploymentInfo
構造は、このメソッドに渡されます。この構造を変更して、デプロイメントの内容を変更することができます。
DeploymentInfo
構造は、組み込み API によって使用される構造と同じあるため、ServletExtension
は Undertow を組み込みモードで使用したときと同じ柔軟性を持ちます。