240.2. HTTP 옵션
이 구성 요소는 Netty 의 모든 옵션을 상속합니다. 따라서 Netty 문서를 확인하십시오.
UDP 전송 관련 옵션과 같이 Netty HTTP 구성 요소를 사용할 때는 Netty의 일부 옵션이 적용되지 않습니다.
Netty HTTP 구성 요소는 아래에 나열된 7 가지 옵션을 지원합니다.
이름 | 설명 | Default | 유형 |
---|---|---|---|
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 매개변수 (보안) | 글로벌 SSL 컨텍스트 매개 변수 사용을 활성화합니다. | false | boolean |
maximumPoolSize (advanced) | 순서가 지정된 스레드 풀(사용 중인 경우)의 코어 풀 크기입니다. 기본값은 16입니다. | 16 | int |
resolvePropertyECDHEholders (advanced) | 구성 요소가 시작할 때 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Netty HTTP 끝점은 URI 구문을 사용하여 구성됩니다.
netty-http:protocol:host:port/path
netty-http:protocol:host:port/path
다음 경로 및 쿼리 매개변수를 사용합니다.
240.2.1. 경로 매개변수 (4 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
이름 | 설명 | Default | 유형 |
---|---|---|---|
프로토콜 | 필수: http 또는 https인 사용할 프로토콜입니다. | 문자열 | |
host | 필수 localhost와 같은 로컬 호스트 이름 또는 소비자일 때 0.0.0.0입니다. 생산자를 사용하는 경우 원격 HTTP 서버 호스트 이름입니다. | 문자열 | |
port | 호스트 포트 번호 | int | |
경로 | 리소스 경로 | 문자열 |
240.2.2. 쿼리 매개변수(78 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
이름 | 설명 | Default | 유형 |
---|---|---|---|
bridgeEndpoint (common) | 옵션이 true인 경우 생산자는 Exchange.HTTP_URI 헤더를 무시하고 요청에 끝점의 URI를 사용합니다. 생산자가 모든 오류 응답을 다시 보낼 수 있도록 throwExceptionOnFailure를 false로 설정할 수도 있습니다. 브리지 모드에서 작업하는 소비자는 gzip 압축 및 WWW URL 양식 인코딩을 건너뜁니다(Exchange.SKIP_GZIP_ENCODING 및 Exchange.SKIP_WW_FORM_URLENCODED 헤더를 소비된 교환에 추가). | false | boolean |
연결 해제 (공용) | 사용 후 Netty Channel에서 연결을 끊을지 여부입니다. 소비자와 생산자 모두에 사용할 수 있습니다. | false | boolean |
keepalive ( common) | 비활성화로 인해 소켓이 닫히지 않도록 설정 | true | boolean |
reuseAddress (common) | 소켓 멀티플렉싱을 용이하게 하기 위한 설정 | true | boolean |
sync (common) | 끝점을 단방향 또는 request-response로 설정하도록 설정 | true | boolean |
tcpNoDelay (공용) | TCP 프로토콜 성능 향상을 위한 설정 | true | boolean |
bridgeErrorHandler (consumer) | 소비자가 수신되는 메시지를 선택하려고 하는 동안 예외가 발생했음을 나타내는 Camel 라우팅 오류 처리기에 소비자를 브리징할 수 있습니다. 즉, 소비자가 수신되는 메시지를 선택하려고 하는 동안 예외가 발생되거나 이제 메시지로 처리되고 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.Exception handler를 사용하여 WARN 또는 ERROR 수준에서 로깅되고 무시됩니다. | false | boolean |
matchOnUriPrefix (consumer) | 정확한 일치 항목이 없는 경우, Camel이 URI 접두사를 일치시켜 대상 소비자를 찾을지 여부입니다. | false | boolean |
send503 whenSuspended (consumer) | 소비자가 일시 중지되었을 때 HTTP 상태 코드 503을 다시 보낼지 여부입니다. 옵션이 false이면 소비자가 일시 중지될 때 Netty Acceptor가 바인딩되지 않으므로 클라이언트가 더 이상 연결할 수 없습니다. | true | boolean |
backlog (consumer) | netty 소비자(서버)에 대한 백로그를 구성할 수 있습니다. 백로그는 OS에 따라 최상의 노력입니다. 이 옵션을 200, 500 또는 1000과 같은 값으로 설정하면 TCP 스택에 수락 대기열이 구성되지 않은 경우 백로그가 OS 설정에 따라 달라집니다. | int | |
obbareCount (consumer) | netty가 nio 모드에서 작동할 때 Netty의 기본 바디셔널Count 매개변수를 사용합니다. 이 매개변수는 1입니다. 사용자는 이 작업을 사용하여 Netty의 기본 바운더Count를 재정의할 수 있습니다. | 1 | int |
bossPool (consumer) | 명시적 org.jboss.netty.channel.socket.nio.BossPool을 경신 스레드 풀로 사용합니다. 예를 들어 여러 소비자와 스레드 풀을 공유합니다. 기본적으로 각 소비자는 하나의 코어 스레드를 가진 자체 바운더 풀이 있습니다. | BossPool | |
channelGroup (consumer) | 명시적인 ChannelGroup을 사용하려면 다음을 수행합니다. | ChannelGroup | |
chunkedMaxContentLength (consumer) | Netty HTTP 서버에서 수신한 청크당 최대 콘텐츠 길이(바이트)입니다. | 1048576 | int |
압축 (consumer) | 클라이언트가 HTTP 헤더에서 지원하는 경우 Netty HTTP 서버에서 압축에 gzip/deflate를 사용할 수 있습니다. | false | boolean |
disableStreamCache (consumer) | NettyECDHERequest#getContent()의 원시 입력 스트림이 캐시되었는지 여부를 결정합니다(Camel은 경량 메모리 기반 Stream 캐싱에서 스트림을 읽습니다.) 기본적으로 Camel은 Netty 입력 스트림을 캐시하여 Camel이 스트림에서 모든 데이터를 검색할 수 있도록 여러 번 읽을 수 있도록 지원합니다. 그러나 파일 또는 기타 영구 저장소로 스트리밍하는 등 원시 스트림에 액세스해야 하는 경우 이 옵션을 true로 설정할 수 있습니다. 이 옵션을 활성화하면 Netty 스트림을 상자에서 여러 번 읽을 수 없으며 Netty raw 스트림에서 reader 인덱스를 재설정하려면 수동으로 해야 합니다. | false | boolean |
disconnectOnNoReply (consumer) | 동기화가 활성화되면 이 옵션은 NettyConsumer를 다시 보낼 응답이 없는 경우 연결을 끊습니다. | true | boolean |
예외 처리기 (consumer) | 소비자가 사용자 지정 예외 처리기를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있으면 이 옵션이 사용되지 않습니다. 기본적으로 소비자는 예외를 처리하며 WARN 또는 ERROR 수준에서 로깅되고 무시됩니다. | ExceptionHandler | |
exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
httpMethodRestrict (consumer) | Netty HTTP 소비자에서 HTTP 메서드를 비활성화하려면 다음을 수행합니다. 쉼표로 구분된 여러 개를 지정할 수 있습니다. | 문자열 | |
mapHeaders (consumer) | 이 옵션이 활성화된 경우 Netty에서 Camel Message에 바인딩하는 동안 헤더도 매핑됩니다(예: Camel 메시지에 헤더도 추가). 이 옵션을 해제하여 이 옵션을 비활성화할 수 있습니다. Netty HTTP 요청 또는g.jboss.netty.http.HttpRequest instance를 반환하는 getHttpRequest() 메서드와 함께 org.apache.camel.component.netty.http.HttpRequest 메시지에서 헤더에 액세스할 수 있습니다. | true | boolean |
maxChannelMemorySize (consumer) | orderedThreadPoolExecutor를 사용할 때 채널당 대기 중인 이벤트의 최대 총 크기입니다. 비활성화하려면 0을 지정합니다. | 10485760 | long |
maxHeaderSize (consumer) | 모든 헤더의 최대 길이입니다. 각 헤더의 길이의 합계가 이 값을 초과하면 TooLongECDHEException이 발생합니다. | 8192 | int |
maxTotalMemorySize (consumer) | orderedThreadPoolExecutor를 사용할 때 이 풀에 대해 대기 중인 이벤트의 최대 총 크기입니다. 비활성화하려면 0을 지정합니다. | 209715200 | long |
nettyServerBootstrapFactory (consumer) | 사용자 지정 NettyServerBootstrapECDHEy를 사용하려면 | 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 |
serverECDHEdChannel ExceptionCaughtLogLevel (consumer) | 서버(NettyConsumer)가 java.nio.channels.gradledChannelException을 수신한 경우 이 로깅 수준을 사용하여 기록됩니다. 클라이언트가 갑자기 연결을 끊은 다음 Netty 서버에서 폐쇄된 예외의 플러드를 일으킬 수 있으므로 폐쇄 채널 예외의 로깅을 방지하는 데 사용됩니다. | DEBUG | LoggingLevel |
serverExceptionCaughtLog Level (consumer) | 서버(NettyConsumer)가 예외를 catch한 경우 이 로깅 수준을 사용하여 기록됩니다. | WARN | LoggingLevel |
serverPipelineFactory (consumer) | 사용자 지정 ServerPipelineECDHEy를 사용하려면 | ServerPipelineFactory | |
traceEnabled (consumer) | 이 Netty HTTP 소비자에 대해 HTTPignoreACE를 활성화할지 여부를 지정합니다. 기본적으로 off가 해제되어 있습니다. | false | boolean |
urlDecodeHeaders (consumer) | 이 옵션이 활성화된 경우 Netty에서 Camel Message로 바인딩하는 동안 헤더 값이 디코딩된 URL이 됩니다(예: %20은 공백 문자). 이 옵션은 기본 org.apache.camel.component.netty.http.NettyHttpBinding에서 사용되므로 사용자 지정 org.apache.camel.component.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 count 코어 스레드가 있는 자체 작업자 풀이 있습니다. | WorkerPool | |
ConnectTimeout (producer) | 소켓 연결을 사용할 수 있을 때까지 대기하는 시간입니다. value는 밀리입니다. | 10000 | long |
requestTimeout (producer) | 원격 서버를 호출할 때 Netty 프로듀서에 대한 타임아웃을 사용할 수 있습니다. 기본적으로 제한 시간은 사용되지 않습니다. 값은 밀리 초이므로 eg 30000은 30초입니다. requestTimeout은 Netty의 ReadTimeoutHandler를 사용하여 시간 초과를 트리거합니다. | long | |
throwExceptionOnFailure (producer) | 원격 서버에서 응답이 실패한 경우ECDHEOperationFailedException을 비활성화하는 옵션입니다. 이를 통해 HTTP 상태 코드에 관계없이 모든 응답을 가져올 수 있습니다. | true | boolean |
clientPipelineECDHEy (producer) | 사용자 정의 ClientPipelineECDHEy를 사용하려면 | ClientPipelineFactory | |
lazyChannelCreation (producer) | Camel 프로듀서가 시작될 때 원격 서버가 가동되지 않고 실행되지 않는 경우 예외가 발생하지 않도록 채널은 lazily를 생성할 수 있습니다. | true | boolean |
okStatusCodeRange (producer) | 성공 응답으로 간주되는 상태 코드입니다. 값이 포함됩니다. 여러 범위를 쉼표로 구분하여 정의할 수 있습니다(예: 200-204,209,301-304). 각 범위는 대시가 포함된 단일 숫자 또는 from-to여야 합니다. 기본 범위는 200-299입니다. | 200-299 | 문자열 |
producerPoolEnabled (producer) | 생산자 풀이 활성화되었는지 여부입니다. 중요: 동시성 및 안정적인 요청/응답 처리에는 풀링이 필요하므로 이 기능을 해제하지 마십시오. | true | boolean |
producerPoolMaxActive (producer) | 지정된 시간에 풀에서 할당할 수 있는 오브젝트 수(클라이언트로 확인 또는 유휴 사용 중)에 대한 제한을 설정합니다. 제한 없음에 음수 값을 사용합니다. | -1 | int |
producerPoolMaxIdle (producer) | 풀의 유휴 인스턴스 수에 제한을 설정합니다. | 100 | int |
producerPoolMinEvictable Idle (producer) | 유휴 개체 evictor에 의해 제거되기 전에 오브젝트가 풀에 유휴 상태로 있을 수 있는 최소 시간(밀리 단위)을 설정합니다. | 300000 | long |
producerPoolMinIdle (producer) | 제거 스레드(활성인 경우)가 새 오브젝트를 생성하기 전에 생산자 풀에 허용되는 최소 인스턴스 수를 설정합니다. | 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 | |
옵션 (고급) | options.를 접두사로 사용하여 추가 netty 옵션을 구성할 수 있습니다. 예를 들어 option.child.keepAlive=false를 사용하여 netty 옵션 child.keepAlive=false를 설정합니다. 사용할 수 있는 옵션은 Netty 설명서를 참조하십시오. | map | |
receiveBufferSize (고급) | 인바운드 통신 중에 사용할 TCP/UDP 버퍼 크기입니다. 크기는 바이트입니다. | 65536 | long |
receiveBufferSizePredictor (advanced) | 버퍼 크기 예측기를 구성합니다. 자세한 내용은 이 메일 스레드 및 문서의 내용을 참조하십시오. | int | |
sendBufferSize (advanced) | 아웃바운드 통신 중에 사용할 TCP/UDP 버퍼 크기입니다. 크기는 바이트입니다. | 65536 | long |
동기 (고급) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리(지원되는 경우)를 사용할 수 있는지 여부를 설정합니다. | false | boolean |
transferException (advanced) | 활성화된 경우 소비자 측에서 Exchange 처리가 실패하고 발생한 경우 예외는 응답에서 application/x-java-serialized-object 콘텐츠 유형으로 다시 직렬화되었습니다. 생산자 측에서 예외는 역직렬화되어 그대로 발생되며, 대신ECDHEOperationFailedException이 사용됩니다. 원인된 예외가 직렬화되어야 합니다. 이는 기본적으로 해제되어 있습니다. 이 값을 사용하도록 설정하면 Java에서 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있습니다. | false | boolean |
TransferExchange (advanced) | TCP에만 사용됩니다. 교환은 바디 대신 전구를 통해 전송할 수 있습니다. 본문, 아웃 바디, 결함 본문, In headers, Out headers, fault headers, exchange properties, exchange exception이 전송됩니다. 이를 위해서는 오브젝트가 직렬화할 수 있어야 합니다. Camel은 직렬화할 수 없는 오브젝트를 제외하고 WARN 수준에서 기록합니다. | false | boolean |
디코더 (codec) | 단일 디코더를 사용하려면 더 이상 사용되지 않습니다. 이 옵션은 더 이상 사용되지 않는 인코딩기를 사용합니다. | ChannelHandler | |
디코더 (codec) | 사용할 디코더 목록입니다. 쉼표로 구분된 값을 가진 문자열을 사용할 수 있으며 레지스트리에서 값을 조회할 수 있습니다. 값 앞에 #을 붙여야 합니다. 따라서 Camel은 조회해야 한다는 것을 알고 있습니다. | 문자열 | |
인코더 (codec) | 더 이상 사용되지 않는 단일 인코더를 사용합니다. 이 옵션은 더 이상 사용되지 않는 인코딩기를 사용합니다. | ChannelHandler | |
인코더 (codec) | 사용할 인코딩기 목록입니다. 쉼표로 구분된 값을 가진 문자열을 사용할 수 있으며 레지스트리에서 값을 조회할 수 있습니다. 값 앞에 #을 붙여야 합니다. 따라서 Camel은 조회해야 한다는 것을 알고 있습니다. | 문자열 | |
enabledProtocols (security) | SSL을 사용할 때 사용할 프로토콜 | TLSv1,TLSv1.1,TLSv1.2 | 문자열 |
keyStoreFile (보안) | 암호화에 사용할 클라이언트 측 인증서 키 저장소 | 파일 | |
keyStoreFormat (보안) | 페이로드 암호화에 사용할 키 저장소 형식입니다. 설정하지 않는 경우 기본값은 JKS입니다. | JKS | 문자열 |
keyStoreResource (security) | 암호화에 사용할 클라이언트 측 인증서 키 저장소입니다. 기본적으로 classpath에서 로드되지만 classpath:, file: 또는 http: 접두사를 추가하여 다른 시스템에서 리소스를 로드할 수 있습니다. | 문자열 | |
needClientAuth (security) | SSL을 사용할 때 서버에 클라이언트 인증이 필요한지 여부를 구성합니다. | false | boolean |
암호 (보안) | SSH를 사용하여 전송된 페이로드를 암호화/암호화하기 위해 사용할 암호 설정 | 문자열 | |
SecurityConfiguration (보안) | 보안 웹 리소스를 구성하기 위한 org.apache.camel.component.netty.http.NettyHttpSecurityConfiguration을 나타냅니다. | NettyHttpSecurity Configuration | |
securityOptions (security) | 맵의 키/값 쌍을 사용하여 NettyHttpSecurityConfiguration을 구성하려면 다음을 수행합니다. | map | |
SecurityProvider (보안) | 페이로드 암호화에 사용할 보안 공급자입니다. 설정하지 않는 경우 기본값은 SunX509입니다. | SunX509 | 문자열 |
SSL (보안) | SSL 암호화가 이 끝점에 적용되는지 여부를 지정하는 설정 | false | boolean |
sslClientCertHeaders (보안) | 활성화 및 SSL 모드에서 Netty 소비자는 제목 이름, 발급자 이름, 일련 번호 및 유효한 날짜 범위와 같은 클라이언트 인증서에 대한 정보가 있는 헤더로 Camel Message를 보강합니다. | false | boolean |
sslContextParameters (security) | SSLContextParameters를 사용하여 보안을 구성하려면 | SSLContextParameters | |
sslHandler (보안) | SSL 처리기를 반환하는 데 사용할 수 있는 클래스에 대한 참조 | SslHandler | |
trustStoreFile (보안) | 암호화에 사용할 서버 사이드 인증서 키 저장소 | 파일 | |
trustStoreResource (security) | 암호화에 사용할 서버 사이드 인증서 키 저장소입니다. 기본적으로 classpath에서 로드되지만 classpath:, file: 또는 http: 접두사를 추가하여 다른 시스템에서 리소스를 로드할 수 있습니다. | 문자열 |