241.2. HTTP 옵션


훨씬 더 많은 옵션

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

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

이름설명기본유형

nettyHttpBinding (advanced)

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

 

NettyHttpBinding

구성 (일반)

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

 

NettyHttpConfiguration

headerFilterStrategy (advanced)

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

 

HeaderFilterStrategy

SecurityConfiguration (보안)

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

 

NettyHttpSecurity Configuration

useGlobalSslContext Parameters (보안)

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

false

boolean

maximumPoolSize (advanced)

사용 중인 경우 정렬된 스레드 풀의 코어 풀 크기입니다. 기본값은 16입니다.

16

int

resolveProperty Placeholders (advanced)

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

true

boolean

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

netty-http:protocol:host:port/path

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

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

이름설명기본유형

프로토콜

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

 

문자열

host

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

 

문자열

port

호스트 포트 번호

 

int

path

리소스 경로

 

문자열

241.2.2. 쿼리 매개변수(78 매개변수):

이름설명기본유형

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

동기화 (공용)

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

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

essPool (consumer)

명시적인 org.jboss.netty.channel.socket.nio.BossPool을 master 스레드 풀로 사용합니다. 예를 들어 여러 소비자와 스레드 풀을 공유하려면 다음을 수행합니다. 기본적으로 각 소비자에는 하나의 코어 스레드가 있는 자신의 사장 풀이 있습니다.

 

BossPool

channelGroup (consumer)

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

 

ChannelGroup

chunkedMaxContentLength (consumer)

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

1048576

int

압축 (consumer)

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

false

boolean

disableStreamCache (consumer)

Netty#159Request#getContent()의 원시 입력 스트림이 캐시되었는지 여부를 결정합니다(Camel은 경량 메모리 기반 스트림 캐싱에서 스트림을 읽습니다.) 기본적으로 Camel은 Netty 입력 스트림을 캐시하여 Camel이 스트림에서 모든 데이터를 검색할 수 있도록 여러 번 읽습니다. 그러나 예를 들어 파일 또는 기타 영구 저장소로 직접 스트리밍하는 등 원시 스트림에 액세스해야 하는 경우 이 옵션을 true로 설정할 수 있습니다. 이 옵션을 활성화하면 즉시 Netty 스트림을 여러 번 읽을 수 없으며 Netty raw stream에서 reader 인덱스를 재설정해야 합니다.

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 요청 org.jboss.netty.handler.http.HttpRequest 인스턴스를 반환하는 getHttpRequest() 메서드와 함께 org.apache.camel.component.netty.http.NettyHttpMessage 메시지에서 액세스할 수 있습니다.

true

boolean

maxChannelMemorySize (consumer)

orderedThreadPoolExecutor를 사용할 때 채널당 대기 중인 이벤트의 최대 총 크기입니다. 비활성화하려면 0을 지정합니다.

10485760

long

maxHeaderSize (consumer)

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

8192

int

maxTotalMemorySize (consumer)

orderedThreadPoolExecutor를 사용할 때 이 풀에 대해 큐링된 이벤트의 최대 총 크기입니다. 비활성화하려면 0을 지정합니다.

209715200

long

nettyServerBootstrapFactory (consumer)

사용자 정의 NettyServerBootstrapFactory 사용

 

NettyServerBootstrap Factory

nettySharedHttpServer (consumer)

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

 

NettySharedHttpServer

noReplyLogLevel (consumer)

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

WARN

LoggingLevel

orderedThreadPoolExecutor (consumer)

정렬된 스레드 풀을 사용할지 여부에 관계없이 이벤트가 동일한 채널에서 순서대로 처리되도록 합니다. 자세한 내용은 org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor의 netty javadoc에서 참조하십시오.

true

boolean

serverClosedChannel ExceptionCaughtLogLevel (consumer)

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

DEBUG

LoggingLevel

serverExceptionCaughtLog Level (consumer)

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

WARN

LoggingLevel

serverPipelineFactory (consumer)

사용자 지정 ServerPipelineFactory 사용

 

ServerPipelineFactory

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.netty.http.NettyHttpBinding을 구현하면 이 옵션에 따라 헤더를 디코딩해야 합니다.

false

boolean

workercount (consumer)

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

 

int

workerpool (consumer)

명시적 org.jboss.netty.channel.socket.nio.WorkerPool을 작업자 스레드 풀로 사용하려면 다음을 수행합니다. 예를 들어 여러 소비자와 스레드 풀을 공유하려면 다음을 수행합니다. 기본적으로 각 소비자에는 2 x cpu 수 코어 스레드가 있는 자체 작업자 풀이 있습니다.

 

WorkerPool

ConnectTimeout (producer)

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

10000

long

requestTimeout (producer)

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

 

long

throwExceptionOnFailure (producer)

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

true

boolean

clientPipelineFactory (producer)

사용자 정의 ClientPipelineFactory 사용

 

ClientPipelineFactory

lazyChannelCreation (producer)

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

true

boolean

okStatusCodeRange (producer)

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

200-299

문자열

producerPoolEnabled (producer)

생산자 풀이 활성화되어 있는지 여부입니다. 중요: 동시성 및 신뢰할 수 있는 요청/응답을 처리하는 데 풀링이 필요하므로 이 기능을 해제하지 마십시오.

true

boolean

producerPoolMaxActive (producer)

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

-1

int

producerPoolMaxIdle (producer)

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

100

int

producerPoolMinEvictable Idle (producer)

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

300000

long

producerPoolMinIdle (producer)

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

 

int

useChannelBuffer (producer)

useChannelBuffer가 true인 경우 netty 생산자는 메시지를 전송하기 전에 메시지 본문을 ChannelBuffer로 전환합니다.

false

boolean

useRelativePath (producer)

HTTP 요청에서 상대 경로를 사용할지 여부를 설정합니다. IBM Datapower와 같은 일부 타사 백엔드 시스템은 HTTP POST에서 절대 URI를 지원하지 않으며 이 옵션을 true로 설정하면 이 문제를 해결할 수 있습니다.

false

boolean

bootstrapConfiguration (advanced)

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

 

NettyServerBootstrap Configuration

구성 (고급)

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

 

NettyHttpConfiguration

headerFilterStrategy (advanced)

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

 

HeaderFilterStrategy

nettyHttpBinding (advanced)

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

 

NettyHttpBinding

옵션 (고급)

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

 

map

receiveBufferSize (advanced)

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

65536

long

receiveBufferSizePredictor (advanced)

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

 

int

sendBufferSize (advanced)

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

65536

long

동기 (고급)

동기 처리를 엄격하게 사용해야 하는지 또는 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

디코더 (codec)

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

 

ChannelHandler

디코더 (codec)

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

 

문자열

인코더 (codec)

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

 

ChannelHandler

인코더 (codec)

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

 

문자열

enabledProtocols (보안)

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

TLSv1,TLSv1.1,TLSv1.2

문자열

keyStoreFile (보안)

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

 

파일

keyStoreFormat (보안)

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

JKS

문자열

keyStoreResource (보안)

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

 

문자열

NeedClientAuth (보안)

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

false

boolean

암호 (보안)

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

 

문자열

SecurityConfiguration (보안)

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

 

NettyHttpSecurity Configuration

SecurityOptions (보안)

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

 

map

SecurityProvider (보안)

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

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.