43.10.2. Spring 설정
43.10.2.1. 개요
처리기 체인을 사용하도록 엔드포인트를 구성하는 가장 쉬운 방법은 끝점 구성에서 체인을 정의하는 것입니다. 이 작업은 jaxwxs:handlers
하위를 끝점을 구성하는 요소에 추가하여 수행됩니다.
구성 파일을 통해 추가된 처리기 체인이 프로그래밍 방식으로 구성된 처리기 체인보다 우선합니다.
43.10.2.2. 절차
처리기 체인을 로드하도록 끝점을 구성하려면 다음을 수행합니다.
끝점에 구성 요소가 없는 경우 하나를 추가합니다.
Apache CXF 엔드포인트 구성에 대한 자세한 내용은 17장. JAX-WS 엔드포인트 구성 을 참조하십시오.
-
jaxws:handlers
하위 요소를 엔드포인트의 구성 요소에 추가합니다. 체인의 각 처리기에 대해 처리기를 구현하는 클래스를 지정하는
빈 요소를 추가합니다
.처리기 구현을 두 개 이상의 위치에서 사용하는 경우
ref
요소를 사용하여빈
요소를 참조할 수 있습니다.
43.10.2.3. handlers 요소
jaxws:handlers
요소는 끝점의 구성에 처리기 체인을 정의합니다. 모든 JAX-WS 엔드포인트 구성 요소에 자식으로 표시될 수 있습니다. 다음은 다음과 같습니다.
-
jaxws:endpoint
는 서비스 공급자를 구성합니다. -
jaxws:server
도 서비스 공급자를 구성합니다. -
jaxws:client
는 서비스 소비자를 구성합니다.
다음 두 가지 방법 중 하나로 처리기 체인에 핸들러를 추가합니다.
-
구현 클래스를 정의
하는 빈
요소 추가 -
ref
요소를 사용하여 구성 파일의 다른 위치에서 이름이 지정된 빈 요소를 참조합니다
.
핸들러가 구성에 정의된 순서는 실행할 순서입니다. 논리 처리기와 프로토콜 처리기를 혼합하면 순서가 수정될 수 있습니다. 런타임은 구성에 지정된 기본 순서를 유지하면서 이를 적절한 순서로 정렬합니다.
43.10.2.4. 예제
예 43.17. “Handler Chain In Spring을 사용하도록 엔드 포인트 구성” 핸들러 체인을 로드하는 서비스 공급자의 구성을 보여줍니다.
예 43.17. Handler Chain In Spring을 사용하도록 엔드 포인트 구성
<beans ... xmlns:jaxws="http://cxf.apache.org/jaxws" ... schemaLocation="... http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd ..."> <jaxws:endpoint id="HandlerExample" implementor="org.apache.cxf.example.DemoImpl" address="http://localhost:8080/demo"> <jaxws:handlers> <bean class="demo.handlers.common.LoggingHandler" /> <bean class="demo.handlers.common.AddHeaderHandler" /> </jaxws:handlers> </jaws:endpoint> </beans>