Red Hat Training

A Red Hat training course is available for Red Hat Fuse

59.3.3. Java 주석 사용

59.3.3.1. 개요

Apache CXF는 개발자가 엔드포인트에서 사용하는 인터셉터 체인을 지정할 수 있는 네 가지 Java 주석을 제공합니다. 인터셉터를 끝점에 연결하는 다른 방법과 달리 주석은 애플리케이션 수준 아티팩트에 연결됩니다. 사용되는 아티팩트는 주석의 적용 범위를 결정합니다.

59.3.3.2. 주석을 배치할 위치

주석은 다음 아티팩트에 배치할 수 있습니다.

  • 끝점을 정의하는 서비스 끝점 인터페이스(SEI)

    주석이 SEI에 배치되면 인터페이스를 구현하는 모든 서비스 공급자와 SEI를 사용하여 프록시를 생성하는 모든 소비자에 영향을 미칩니다.

  • 서비스 구현 클래스

    주석이 구현 클래스에 배치되면 구현 클래스를 사용하는 모든 서비스 공급자가 영향을 받습니다.

59.3.3.3. 주석

주석은 모두 org.apache.cxf.interceptor 패키지이며 표 59.2. “인터셉터 체인 주석” 에 설명되어 있습니다.

표 59.2. 인터셉터 체인 주석

주석설명

InInterceptors

인바운드 인터셉터 체인의 인터셉터를 지정합니다.

OutInterceptors

아웃바운드 인터셉터 체인의 인터셉터를 지정합니다.

InFaultInterceptors

인바운드 fault 인터셉터 체인의 인터셉터를 지정합니다.

OutFaultInterceptors

아웃바운드 fault 인터셉터 체인의 인터셉터를 지정합니다.

59.3.3.4. 인터셉터 나열

인터셉터 목록은 체인 주석의 인터셉터 나열 구문 에 표시된 구문을 사용하여 정규화된 클래스 이름 목록으로 지정됩니다.

체인 주석의 인터셉터 나열 구문

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

59.3.3.5. 예제

서비스 구현에 인터셉터 연결 SayHiImpl 에서 제공하는 논리를 사용하는 엔드포인트의 인바운드 인터셉터 체인에 두 개의 인터셉터를 연결하는 주석을 표시합니다.

서비스 구현에 인터셉터 연결

import org.apache.cxf.interceptor.InInterceptors;

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