243.2. HTTP 옵션


훨씬 더 많은 옵션

이 구성 요소는 Netty4 의 모든 옵션을 상속합니다. Netty4 문서를 참조하십시오. Netty4 의 일부 옵션은 UDP 전송과 관련된 옵션과 같은 이 Netty4 HTTP 구성 요소를 사용할 때 적용되지 않습니다.

Netty4 HTTP 구성 요소는 아래에 나열된 9 가지 옵션을 지원합니다.

이름설명기본유형

nettyHttpBinding (advanced)

Netty 및 Camel Message API에 바인딩하기 위해 사용자 정의 org.apache.camel.component.netty4.http.NettyHttpBinding을 사용합니다.

 

NettyHttpBinding

구성 (일반)

엔드포인트를 생성할 때 NettyConfiguration을 구성으로 사용하려면 다음을 수행합니다.

 

NettyHttpConfiguration

headerFilterStrategy (advanced)

사용자 정의 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 헤더를 필터링합니다.

 

HeaderFilterStrategy

SecurityConfiguration (보안)

보안 웹 리소스를 구성하기 위해 org.apache.camel.component.netty4.http.NettyHttpSecurityConfiguration을 참조합니다.

 

NettyHttpSecurity Configuration

useGlobalSslContext Parameters (보안)

글로벌 SSL 컨텍스트 매개 변수를 사용합니다.

false

boolean

maximumPoolSize (advanced)

사용 중인 경우 EventExecutorGroup의 스레드 풀 크기입니다. 기본값은 16입니다.

16

int

executorService (고급)

지정된 EventExecutorGroup을 사용합니다.

 

EventExecutorGroup

sslContextParameters (보안)

SSLContextParameters를 사용하여 보안을 구성하려면 다음을 수행합니다.

 

SSLContextParameters

resolveProperty Placeholders (advanced)

구성 요소 시작 시 속성 자리 표시자를 자체적으로 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.

true

boolean

Netty4 HTTP 끝점은 URI 구문을 사용하여 구성됩니다.

netty4-http:protocol:host:port/path

다음 경로 및 쿼리 매개변수를 사용합니다.

243.2.1. 경로 매개변수 (4 매개변수):

이름설명기본유형

프로토콜

required http 또는 https인 사용할 프로토콜입니다.

 

문자열

host

필수: 소비자가 되는 경우 localhost 또는 0.0.0.0과 같은 로컬 호스트 이름입니다. 생산자를 사용할 때 원격 HTTP 서버 호스트 이름입니다.

 

문자열

port

호스트 포트 번호

 

int

path

리소스 경로

 

문자열

243.2.2. 쿼리 매개변수(79 매개변수):

이름설명기본유형

bridgeEndpoint (공용)

옵션이 true인 경우 생산자는 Exchange.HTTP_URI 헤더를 무시하고 요청에 끝점의 URI를 사용합니다. 또한 생산자가 모든 오류 응답을 다시 보낼 수 있도록 throwExceptionOnFailure를 false로 설정할 수도 있습니다. 브리지 모드에서 작업하는 소비자는 gzip 압축 및 WWW URL 양식 인코딩을 건너뜁니다( Exchange.SKIP_GZIP_ENCODING 및 Exchange.SKIP_WWW_FORM_URLENCODED 헤더를 사용한 교환에 추가).

false

boolean

연결 해제 (일반)

사용 후 Netty Channel에서 연결을 해제할지 여부입니다. 소비자와 생산자 모두에 사용할 수 있습니다.

false

boolean

keepalive( 공용)

비활성으로 인해 소켓을 종료하지 않도록 설정

true

boolean

reuseAddress (common)

소켓 멀티플렉싱을 용이하게 설정

true

boolean

reuseChannel (공용)

이 옵션을 사용하면 생산자 및 소비자(클라이언트 모드)가 교환 처리 수명 주기 동안 동일한 Netty 채널을 재사용할 수 있습니다. 이 기능은 Camel 경로에서 서버를 여러 번 호출하고 동일한 네트워크 연결을 사용하려는 경우에 유용합니다. 이 옵션을 사용하면 Exchange가 완료될 때까지 채널이 연결 풀로 반환되지 않거나 연결 해제 옵션이 true로 설정된 경우 연결이 끊어집니다. 재사용된 채널은 교환에 NettyConstants#NETTY_CHANNEL 키가 있는 교환 속성에 저장되므로 라우팅 중에 채널을 확보하고 사용할 수도 있습니다.

false

boolean

동기화 (공용)

끝점을 단방향 또는 요청으로 설정하도록 설정

true

boolean

tcpNoDelay (공용)

TCP 프로토콜 성능을 개선하도록 설정

true

boolean

bridgeErrorHandler (consumer)

Camel 라우팅 오류 처리기에 소비자를 브리징할 수 있습니다. 즉, 소비자가 들어오는 메시지를 선택하려고 하는 동안 발생한 모든 예외가 이제 메시지로 처리되고 라우팅 오류 처리기에서 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시됩니다.

false

boolean

matchOnUriPrefix (consumer)

정확히 일치하는 항목이 없는 경우 Camel에서 URI 접두사와 일치하여 대상 소비자를 찾아야 하는지 여부입니다.

false

boolean

send503whenSuspended (consumer)

소비자가 일시 중단되었을 때 HTTP 상태 코드 503을 보낼지 여부입니다. 옵션이 false이면 소비자가 일시 중단될 때 Netty Acceptor가 바인딩되지 않으므로 클라이언트가 더 이상 연결할 수 없습니다.

true

boolean

Backlog (consumer)

netty 소비자(서버)에 대한 백로그를 구성할 수 있습니다. 백로그는 OS에 따라 최선의 노력일 뿐입니다. 이 옵션을 200, 500 또는 1000과 같은 값으로 설정하면 수락 대기열이 구성할 수 있는 기간이 TCP 스택에 지시합니다. 이 옵션이 구성되지 않은 경우 백로그는 OS 설정에 따라 다릅니다.

 

int

managerCount (consumer)

netty가 nio 모드에서 작동하면 Netty의 기본 managerCount 매개 변수를 사용합니다. 이는 1입니다. 사용자는 이 작업을 사용하여 Netty의 기본 directorCount를 재정의할 수 있습니다.

1

int

managerGroup (consumer)

NettyEndpoint에서 서버 측의 새 연결을 처리하는 데 사용할 수 있는 BossGroup을 설정합니다.

 

EventLoopGroup

chunkedMaxContentLength (consumer)

Netty HTTP 서버에서 수신한 청크된 프레임당 최대 콘텐츠 길이(바이트)입니다.

1048576

int

압축 (consumer)

클라이언트가 HTTP 헤더에서 지원하는 경우 Netty HTTP 서버에서 gzip/deflate를 사용할 수 있습니다.

false

boolean

disconnectOnNoReply (consumer)

sync가 활성화된 경우 이 옵션은 회신할 응답이 없는 경우 연결을 해제해야 하는 경우 NettyConsumer를 지정합니다.

true

boolean

exceptionHandler (consumer)

사용자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있으면 이 옵션이 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시됩니다.

 

ExceptionHandler

exchangePattern (consumer)

소비자가 교환을 생성할 때 교환 패턴을 설정합니다.

 

ExchangePattern

httpMethodRestrict (consumer)

Netty HTTP 소비자에서 HTTP 메서드를 비활성화하려면 다음을 수행합니다. 여러 개를 쉼표로 구분할 수 있습니다.

 

문자열

mapHeaders (consumer)

이 옵션을 활성화하면 Netty에서 Camel Message로 바인딩하는 동안 헤더도 매핑됩니다(예: Camel Message에 헤더로 추가됨). 이 옵션을 해제하여 비활성화할 수 있습니다. 헤더는 Netty HTTP 요청 io.netty.handler.http.http.HttpRequest 인스턴스를 반환하는 getHttpRequest() 메서드를 사용하여 org.apache.camel.component.netty.http.NettyHttpMessage 메시지에서 액세스할 수 있습니다.

true

boolean

maxHeaderSize (consumer)

모든 헤더의 최대 길이입니다. 각 헤더의 길이를 이 값을 초과하면 io.netty.handler.codec.TooLongFrameException이 발생합니다.

8192

int

nettyServerBootstrapFactory (consumer)

사용자 정의 NettyServerBootstrapFactory 사용

 

NettyServerBootstrap Factory

nettySharedHttpServer (consumer)

공유 Netty HTTP 서버를 사용하려면 다음을 수행합니다. 자세한 내용은 Netty HTTP Server 예제를 참조하십시오.

 

NettySharedHttpServer

noReplyLogLevel (consumer)

sync가 활성화된 경우 이 옵션은 NettyConsumer에 다시 보낼 응답이 없는 경우 사용할 로깅 수준을 지정합니다.

WARN

LoggingLevel

serverClosedChannel ExceptionCaughtLogLevel (consumer)

서버(NettyConsumer)가 java.nio.channels.ClosedChannelException을 catch하면 이 로깅 수준을 사용하여 기록됩니다. 이는 클라이언트가 갑자기 연결을 끊을 수 있고 Netty 서버에서 폐쇄된 예외의 플러드를 일으킬 수 있으므로 폐쇄된 채널 예외를 로깅하는 데 사용됩니다.

DEBUG

LoggingLevel

serverExceptionCaughtLog Level (consumer)

서버(NettyConsumer)가 예외를 catch하면 이 로깅 수준을 사용하여 기록됩니다.

WARN

LoggingLevel

Server CryostatrFactory (consumer)

사용자 지정 Server CryostatrFactory를 사용하려면 다음을 수행합니다.

 

Server Cryostatr Cryostat

traceEnabled (consumer)

이 Netty HTTP 소비자에 대해 HTTP TRACE를 활성화할지 여부를 지정합니다. 기본적으로 TRACE는 꺼져 있습니다.

false

boolean

urlDecodeHeaders (consumer)

이 옵션을 활성화하면 Netty에서 Camel Message로 바인딩하는 동안 헤더 값이 URL 디코딩됩니다(예: %20은 공백 문자가 됩니다. 이 옵션은 기본 org.apache.camel.component.netty.http.NettyHttpBinding에서 사용되며 사용자 지정 org.apache.camel.component.netty4.http.NettyHttpBinding을 구현하면 이 옵션에 따라 헤더를 디코딩해야 합니다.

false

boolean

usingExecutorService (consumer)

정렬된 스레드 풀을 사용할지 여부에 관계없이 이벤트가 동일한 채널에서 순서대로 처리되도록 합니다.

true

boolean

ConnectTimeout (producer)

소켓 연결을 사용할 수 있을 때까지 대기하는 시간입니다. 값은 밀리초 단위입니다.

10000

int

cookieHandler (producer)

HTTP 세션을 유지 관리하도록 쿠키 처리기 구성

 

CookieHandler

requestTimeout (producer)

원격 서버를 호출할 때 Netty 생산자에 시간 제한을 사용할 수 있습니다. 기본적으로 시간 초과는 사용되지 않습니다. 값은 밀리 초 단위이므로 eg 30000은 30초입니다. requestTimeout은 Netty의 ReadTimeoutHandler를 사용하여 시간 초과를 트리거합니다.

 

long

throwExceptionOnFailure (producer)

원격 서버에서 실패한 응답의 경우 CryostatOperationFailedException을 비활성화하는 옵션입니다. 이를 통해 HTTP 상태 코드에 관계없이 모든 응답을 가져올 수 있습니다.

true

boolean

Client CryostatrFactory (producer)

사용자 정의 Client CryostatrFactory 사용

 

Client Cryostatr Cryostat

lazyChannelCreation (producer)

Camel 생산자가 시작될 때 원격 서버가 가동되지 않고 실행 중인 경우 예외를 방지하기 위해 채널이 지연될 수 있습니다.

true

boolean

okStatusCodeRange (producer)

성공 응답으로 간주되는 상태 코드입니다. 값이 포함됩니다. 여러 범위를 쉼표로 구분하여 정의할 수 있습니다(예: 200-204,209,301-304). 각 범위는 단일 번호 또는 대시와 함께 있어야 합니다. 기본 범위는 200-299입니다.

200-299

문자열

producerPoolEnabled (producer)

생산자 풀이 활성화되어 있는지 여부입니다. 중요: 이 기능을 활성화하면 요청/응답을 수행하는 경우에도 생산자에 단일 공유 연결이 사용됩니다. 즉, 응답이 주문되지 않은 경우 상호 연결된 응답에 잠재적인 문제가 발생합니다. 따라서 요청 및 응답 메시지 모두에 상관관계 ID가 있어야 Camel에서 메시지를 계속 처리하는 Camel 콜백에 대한 응답을 적절하게 연관시킬 수 있습니다. 이렇게 하려면 NettyCamelStateCorrelationManager를 상관 관계 관리자로 구현하고 correlationManager 옵션을 통해 구성해야 합니다. 자세한 내용은 correlationManager 옵션도 참조하십시오.

true

boolean

producerPoolMaxActive (producer)

풀에서 할당할 수 있는 오브젝트 수(클라이언트에 점검 또는 체크아웃 대기 중) 수를 설정합니다. 제한 없이 음수 값을 사용합니다.

-1

int

producerPoolMaxIdle (producer)

풀의 유휴 인스턴스 수에 제한을 설정합니다.

100

int

producerPoolMinEvictable Idle (producer)

유휴 오브젝트의 제거 대상이 되기 전에 오브젝트가 풀에 유휴 상태로 남아 있을 수 있는 최소 시간(값)을 설정합니다.

300000

long

producerPoolMinIdle (producer)

Evictor 스레드(활성인 경우)에서 새 오브젝트를 생성하기 전에 생산자 풀에 허용되는 최소 인스턴스 수를 설정합니다.

 

int

useRelativePath (producer)

HTTP 요청에서 상대 경로를 사용할지 여부를 설정합니다.

false

boolean

allowSerializedHeaders (advanced)

transferExchange가 true인 경우에만 TCP에 사용됩니다. true로 설정하면 헤더 및 속성의 직렬화 가능 오브젝트가 교환에 추가됩니다. 그렇지 않으면 Camel은 직렬화되지 않은 오브젝트를 제외하고 WARN 수준에서 기록합니다.

false

boolean

bootstrapConfiguration (advanced)

이 엔드포인트를 구성하기 위해 사용자 지정 구성된 NettyServerBootstrapConfiguration을 사용하려면 다음을 수행합니다.

 

NettyServerBootstrap Configuration

channelGroup (고급)

명시적 ChannelGroup을 사용하려면 다음을 수행합니다.

 

ChannelGroup

구성 (고급)

이 엔드포인트를 구성하기 위해 사용자 정의 구성된 NettyHttpConfiguration을 사용하려면 다음을 수행합니다.

 

NettyHttpConfiguration

disableStreamCache (advanced)

Netty#159Request#getContent() 또는>-<Responset#getContent()의 원시 입력 스트림이 캐시되었는지 여부를 결정합니다(Camel은 경량 메모리 기반 스트림 캐싱에서 스트림을 읽습니다.) 기본적으로 Camel은 Netty 입력 스트림을 캐시하여 Camel이 스트림에서 모든 데이터를 검색할 수 있도록 여러 번 읽습니다. 그러나 예를 들어 파일 또는 기타 영구 저장소로 직접 스트리밍하는 등 원시 스트림에 액세스해야 하는 경우 이 옵션을 true로 설정할 수 있습니다. 이 옵션을 활성화하면 즉시 Netty 스트림을 여러 번 읽을 수 없으며 Netty raw stream에서 reader 인덱스를 재설정해야 합니다. 또한 Netty는 Netty HTTP 서버/HTTP 클라이언트가 처리를 완료할 때 Netty 스트림을 자동으로 닫을 것입니다. 즉, 비동기 라우팅 엔진이 사용 중인 경우 org.apache.camel.Exchange를 계속 라우팅할 수 있는 비동기 스레드는 Netty 스트림을 읽을 수 없기 때문에 Netty 스트림을 읽을 수 없습니다.

false

boolean

headerFilterStrategy (advanced)

사용자 정의 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 헤더를 필터링합니다.

 

HeaderFilterStrategy

기본 전송 (고급)

NIO 대신 기본 전송을 사용할지 여부입니다. 네이티브 전송은 호스트 운영 체제를 사용하며 일부 플랫폼에서만 지원됩니다. 사용 중인 호스트 운영 체제에 netty JAR을 추가해야 합니다. 자세한 내용은 http://netty.io/wiki/native-transports.html에서 참조하십시오.

false

boolean

nettyHttpBinding (advanced)

Netty 및 Camel Message API에 바인딩하기 위해 사용자 정의 org.apache.camel.component.netty4.http.NettyHttpBinding을 사용합니다.

 

NettyHttpBinding

옵션 (고급)

옵션을 접두사로 사용하여 추가 netty 옵션을 구성할 수 있습니다. 예를 들어 option.child.keepAlive=false를 사용하여 netty 옵션 child.keepAlive=false를 설정합니다. 사용할 수 있는 옵션은 Netty 설명서를 참조하십시오.

 

map

receiveBufferSize (advanced)

인바운드 통신 중에 사용할 TCP/UDP 버퍼 크기입니다. 크기는 바이트입니다.

65536

int

receiveBufferSizePredictor (advanced)

버퍼 크기 예측기를 구성합니다. 자세한 내용은 이 메일 스레드 문서 및 이 메일 스레드에서 참조하십시오.

 

int

sendBufferSize (advanced)

아웃바운드 통신 중에 사용할 TCP/UDP 버퍼 크기입니다. 크기는 바이트입니다.

65536

int

동기 (고급)

동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우).

false

boolean

transferException (advanced)

소비자 측에서 활성화 및 교환에 실패한 경우, 발생한 Exception이 응답에서 애플리케이션/x-java-serialized-object 콘텐츠 유형으로 직렬화된 경우. 프로듀서 측에서 예외는 역직렬화되고 is가 아니라 is로 throw됩니다. 발생한 예외를 직렬화해야 합니다. 이는 기본적으로 꺼져 있습니다. 이를 활성화하면 Java에서 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있습니다.

false

boolean

transferExchange (advanced)

TCP에만 사용됩니다. 교환은 육신 대신 전신을 통해 이전할 수 있습니다. 다음 필드가 전송됩니다: 본문, 외부 본문, fault body, In headers, Out headers, fault headers, exchange properties, exchange exception. 이렇게 하려면 개체를 직렬화할 수 있어야 합니다. Camel은 직렬화되지 않은 오브젝트를 제외하고 WARN 수준에서 기록합니다.

false

boolean

workercount (고급)

netty가 nio 모드에서 작동하는 경우 Netty의 기본 workerCount 매개변수를 사용합니다. 이 매개변수는 cpu_core_threads x 2입니다. 사용자는 이 작업을 사용하여 Netty의 기본 workerCount를 덮어쓸 수 있습니다.

 

int

workerGroup (고급)

대표적인 EventLoopGroup을 사인 스레드 풀로 사용합니다. 예를 들어 스레드 풀을 여러 소비자 또는 생산자와 공유하려면 다음을 수행합니다. 기본적으로 각 소비자 또는 생산자에는 x cpu 수 코어 스레드가 2개인 자체 작업자 풀이 있습니다.

 

EventLoopGroup

디코더 (codec)

단일 디코더를 사용하는 경우 더 이상 사용되지 않습니다. 이 옵션은 대신 인코더를 사용하지 않습니다.

 

ChannelHandler

디코더 (codec)

사용할 디코더 목록입니다. 쉼표로 구분된 값이 있고 레지스트리에서 값을 조회하도록 문자열을 사용할 수 있습니다. Camel에서 값 앞에 #을 붙여야 합니다. 따라서 Camel은 조회해야 한다는 것을 알고 있습니다.

 

문자열

인코더 (codec)

단일 인코더를 사용하려면 더 이상 사용되지 않습니다. 이 옵션은 대신 인코더를 사용하지 않습니다.

 

ChannelHandler

인코더 (codec)

사용할 인코더 목록입니다. 쉼표로 구분된 값이 있고 레지스트리에서 값을 조회하도록 문자열을 사용할 수 있습니다. Camel에서 값 앞에 #을 붙여야 합니다. 따라서 Camel은 조회해야 한다는 것을 알고 있습니다.

 

문자열

enabledProtocols (보안)

SSL을 사용할 때 활성화할 프로토콜

TLSv1,TLSv1.1,TLSv1.2

문자열

keyStoreFile (보안)

암호화에 사용할 클라이언트 측 인증서 키 저장소

 

파일

keyStoreFormat (보안)

페이로드 암호화에 사용할 키 저장소 형식입니다. 설정되지 않은 경우 기본값은 JKS입니다.

 

문자열

keyStoreResource (보안)

암호화에 사용할 클라이언트 측 인증서 키 저장소입니다. 기본적으로 classpath에서 로드되지만 classpath:, file: 또는 http: 접두사를 추가하여 다른 시스템의 리소스를 로드할 수 있습니다.

 

문자열

NeedClientAuth (보안)

SSL을 사용할 때 서버에 클라이언트 인증이 필요한지 여부를 구성합니다.

false

boolean

암호 (보안)

SSH를 사용하여 전송된 페이로드를 암호화/암호 해독하는 데 사용할 암호 설정

 

문자열

SecurityConfiguration (보안)

보안 웹 리소스를 구성하기 위해 org.apache.camel.component.netty4.http.NettyHttpSecurityConfiguration을 참조합니다.

 

NettyHttpSecurity Configuration

SecurityOptions (보안)

맵에서 키/값 쌍을 사용하여 NettyHttpSecurityConfiguration을 구성하려면 다음을 수행합니다.

 

map

SecurityProvider (보안)

페이로드 암호화에 사용할 보안 공급자입니다. 설정되지 않은 경우 기본값은 SunX509입니다.

 

문자열

SSL (보안)

이 끝점에 SSL 암호화가 적용되는지 여부를 지정하는 설정

false

boolean

sslClientCertHeaders (보안)

활성화 및 SSL 모드에서 Netty 소비자는 제목 이름, 발행자 이름, 일련 번호 및 유효한 날짜 범위와 같은 클라이언트 인증서에 대한 정보를 포함하는 헤더로 Camel Message를 보강합니다.

false

boolean

sslContextParameters (보안)

SSLContextParameters를 사용하여 보안을 구성하려면 다음을 수행합니다.

 

SSLContextParameters

sslHandler (보안)

SSL 처리기를 반환하는 데 사용할 수 있는 클래스에 대한 참조

 

SslHandler

trustStoreFile (보안)

암호화에 사용할 서버 측 인증서 키 저장소

 

파일

trustStoreResource (보안)

암호화에 사용할 서버 측 인증서 키 저장소입니다. 기본적으로 classpath에서 로드되지만 classpath:, file: 또는 http: 접두사를 추가하여 다른 시스템의 리소스를 로드할 수 있습니다.

 

문자열

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.