12.4. Cryostat 런타임 구성
12.4.1. 개요
Cryostat 런타임은 분리된 엔드포인트를 사용하는 HTTP 서비스 공급자 및 HTTP 소비자가 사용합니다. 런타임의 스레드 풀을 구성할 수 있으며, Cryostat 런타임을 통해 HTTP 서비스 공급자에 대한 여러 보안 설정을 설정할 수도 있습니다.
12.4.2. Maven 종속성
Apache Maven을 빌드 시스템으로 사용하는 경우 프로젝트의 pom.xml
파일에 다음 종속성을 포함하여 프로젝트에 Cryostat 런타임을 추가할 수 있습니다.
<dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-transports-http-undertow</artifactId> <version>${cxf-version}</version> </dependency>
12.4.3. 네임스페이스
Cryostat 런타임을 구성하는 데 사용되는 요소는 네임스페이스 http://cxf.apache.org/transports/http-undertow/configuration 에 정의되어 있습니다. Cryostat 구성 요소를 사용하려면 예 12.14. “Cryostat 런타임 구성 네임스페이스” 에 표시된 행을 끝점 구성 파일의 beans
요소에 추가해야 합니다. 이 예에서는 네임스페이스에 httpu 접두사가 할당됩니다. 또한 구성 요소의 네임스페이스를 xsi:schemaLocation
속성에 추가해야 합니다.
예 12.14. Cryostat 런타임 구성 네임스페이스
<beans ... xmlns:httpu="http://cxf.apache.org/transports/http-undertow/configuration" ... xsi:schemaLocation="... http://cxf.apache.org/transports/http-undertow/configuration http://cxf.apache.org/schemas/configuration/http-undertow.xsd ...">
12.4.4. engine-factory 요소
httpu:engine-factory
요소는 애플리케이션에서 사용하는 Cryostat 런타임을 구성하는 데 사용되는 root 요소입니다. 여기에는 구성 중인 Cryostat 인스턴스를 관리하는
의 이름이 값이 되는 단일 필수 속성 bus가 있습니다.
버스
값은 일반적으로 기본 버스
인스턴스의 이름인 cxf
입니다.
http:engine-factory
요소에는 Cryostat 런타임 팩토리에서 인스턴스화한 HTTP 포트를 구성하는 데 사용되는 정보가 포함된 세 개의 자식이 있습니다. 하위 항목은 표 12.7. “Cryostat 런타임을 구성하는 요소” 에 설명되어 있습니다.
element | 설명 |
---|---|
| 특정 Cryostat 런타임 인스턴스에 대한 구성을 지정합니다. “engine 요소”을 참조하십시오. |
HTTP 서비스 공급자의 보안을 위해 재사용 가능한 속성 집합을 지정합니다. 속성 집합을 참조할 수 있는 고유 식별자를 지정하는 단일 속성 | |
Cryostat 인스턴스의 스레드 풀을 제어하기 위한 재사용 가능한 속성 세트를 지정합니다. 속성 집합을 참조할 수 있는 고유 식별자를 지정하는 단일 속성 “스레드 풀 구성”을 참조하십시오. |
12.4.5. engine 요소
httpu:engine
요소는 Cryostat 런타임의 특정 인스턴스를 구성하는 데 사용됩니다. 이 속성에는 undertow 및 port
가 포함된 글로벌 IP 주소를 지정하는 host
라는 두 가지 속성이 있으며, 이 속성은 Cryostat 인스턴스에서 관리하는 포트의 수를 지정합니다.
port
특성에 값을 0
으로 지정할 수 있습니다. port
속성이 0
으로 설정된 httpu:engine
요소에 지정된 스레딩 속성은 명시적으로 구성되지 않은 모든 Cryostat 리스너의 구성으로 사용됩니다.
각 httpu:engine
요소에는 두 개의 하위 요소가 있을 수 있습니다. 하나는 보안 속성 구성용이고 다른 하나는 instance의 스레드 풀을 구성하기 위한 것입니다. 각 유형의 구성에 대해 구성 정보를 직접 제공하거나 상위 httpu:engine-factory
요소에 정의된 구성 속성 집합에 대한 참조를 제공할 수 있습니다.
구성 속성을 제공하는 데 사용되는 하위 요소는 표 12.8. “Cryostat 런타임 인스턴스 구성을 위한 요소” 에 설명되어 있습니다.
element | 설명 |
---|---|
특정 Cryostat 인스턴스에 사용되는 보안을 구성하기 위한 속성 세트를 지정합니다. | |
| |
특정 Cryostat 인스턴스에서 사용하는 스레드 풀의 크기를 지정합니다. “스레드 풀 구성”을 참조하십시오. | |
|
12.4.6. 스레드 풀 구성
다음 중 하나를 통해 Cryostat 인스턴스의 스레드 풀 크기를 구성할 수 있습니다.
-
engine-factory
요소에서identifiedThreadingParameters
요소를 사용하여 스레드 풀의 크기를 지정합니다. 그런 다음threadingParametersRef
요소를 사용하여 요소를 참조합니다. -
threadingParameters
요소를 사용하여 스레드 풀의 크기를 직접 지정합니다.
threadingParameters
에는 스레드 풀의 크기를 지정하는 두 가지 특성이 있습니다. 속성은 표 12.9. “Cryostat 스레드 풀 구성의 속성” 에 설명되어 있습니다.
httpu:identifiedThreadingParameters
요소에는 단일 하위 스레딩 매개 변수가
있습니다.
속성 | 설명 |
---|---|
작업자에 대해 생성할 I/O 스레드 수를 지정합니다. 지정하지 않으면 dafult 값이 선택됩니다. 기본값은 CPU 코어당 하나의 I/O 스레드입니다. | |
요청을 처리하는 데 사용할 수 있는 최소 스레드 수를 지정합니다. | |
요청을 처리하는 데 사용할 수 있는 최대 스레드 수를 지정합니다. |
12.4.7. 예
예 12.15. “Cryostat 인스턴스 구성” 는 포트 번호 9001에서 Cryostat 인스턴스를 구성하는 구성 조각을 표시합니다.
예 12.15. Cryostat 인스턴스 구성
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sec="http://cxf.apache.org/configuration/security" xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:httpu="http://cxf.apache.org/transports/http-undertow/configuration" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xsi:schemaLocation="http://cxf.apache.org/configuration/security http://cxf.apache.org/schemas/configuration/security.xsd http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd http://cxf.apache.org/transports/http-undertow/configuration http://cxf.apache.org/schemas/configuration/http-undertow.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> ... <httpu:engine-factory bus="cxf"> <httpu:identifiedTLSServerParameters id="secure"> <sec:keyManagers keyPassword="password"> <sec:keyStore type="JKS" password="password" file="certs/cherry.jks"/> </sec:keyManagers> </httpu:identifiedTLSServerParameters> <httpu:engine port="9001"> <httpu:tlsServerParametersRef id="secure" /> <httpu:threadingParameters minThreads="5" maxThreads="15" /> </httpu:engine> </httpu:engine-factory> </beans>
12.4.8. 동시 요청 및 큐 크기 제한
최대 동시 연결 요청 수 및 Cryostat 서버 인스턴스에서 처리할 수 있는 큐 크기에 대한 제한을 설정하는 Request Limiting Handler를 구성할 수 있습니다. 이 구성의 예는 다음과 같습니다. 예 12.16. “연결 요청 및 큐 크기 제한”
속성 | 설명 |
---|---|
Cryostat 인스턴스에서 처리할 수 있는 최대 동시 요청 수를 지정합니다. 요청 수가 이 제한을 초과하면 요청이 대기열에 추가됩니다. | |
Cryostat 인스턴스에서 처리하기 위해 대기열에 포함될 수 있는 총 요청 수를 지정합니다. 요청 수가 이 제한을 초과하면 요청이 거부됩니다. |
예 12.16. 연결 요청 및 큐 크기 제한
<httpu:engine-factory> <httpu:engine port="8282"> <httpu:handlers> <bean class="org.jboss.fuse.quickstarts.cxf.soap.CxfRequestLimitingHandler"> <property name="maximumConcurrentRequests" value="1" /> <property name="queueSize" value="1"/> </bean> </httpu:handlers> </httpu:engine> </httpu:engine-factory>