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: 접두사를 추가하여 다른 시스템의 리소스를 로드할 수 있습니다. | 문자열 |