59.3.3. Java アノテーションの使用


概要

Apache CXF は、開発者がエンドポイントによって使用されるインターセプターチェーンを指定できるように、4 つの Java アノテーションを提供します。インターセプターをエンドポイントに割り当てる他の手段とは異なり、アノテーションはアプリケーションレベルのアーティファクトに割り当てられます。使用するアーティファクトにより、アノテーションの影響範囲が決まります。

アノテーションを配置する場所

アノテーションは以下のアーティファクトに配置できます。

  • エンドポイントを定義するサービスエンドポイントインターフェイス (SEI)

    アノテーションが SEI に配置されると、インターフェイスを実装するサービスプロバイダーすべてと、プロキシーの作成に SEI を使用するコンシューマーすべてに影響があります。

  • サービス実装クラス

    アノテーションが実装クラスに配置されると、実装クラスを使用するすべてのサービスプロバイダーが影響を受けます。

アノテーション

アノテーションはすべて org.apache.cxf.interceptor パッケージにあり、表59.2「インターセプターチェーンアノテーション」 で説明されています。

表59.2 インターセプターチェーンアノテーション
Annotation説明

InInterceptors

インバウンドインターセプターチェーンのインターセプターを指定します。

OutInterceptors

アウトバウンドインターセプターチェーンのインターセプターを指定します。

InFaultInterceptors

インバウンドフォールトインターセプターチェーンのインターセプターを指定します。

OutFaultInterceptors

アウトバウンド障害インターセプターチェーンのインターセプターを指定します。

インターセプターの一覧表示

インターセプターの一覧は、チェーンアノテーションでインターセプターを一覧表示する構文 に記載されている構文を使用して、完全修飾クラス名のリストとして指定されます。

チェーンアノテーションでインターセプターを一覧表示する構文

interceptors={"interceptor1", "interceptor2", ..., "interceptorN"}

サービス実装へのインターセプターの割り当て は、SayHiImpl によって提供されるロジックを使用するエンドポイントのインバウンドインターセプターチェーンに 2 つのインターセプターをアタッチするアノテーションを示しています。

サービス実装へのインターセプターの割り当て

import org.apache.cxf.interceptor.InInterceptors;

@InInterceptors(interceptors={"com.sayhi.interceptors.FirstLast", "com.sayhi.interceptors.LogName"})
public class SayHiImpl implements SayHi
{
  ...
}

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.