11장. Websocket 구성 요소


Camel 버전 2.14에서 사용 가능

non -websocket: 구성 요소는 Websocket을 통해 외부 클라이언트와 통신하는 서블릿에 대한 Websocket 기반 엔드포인트를 제공합니다(외부 클라이언트의 websocket 연결을 수락하는 서블릿).
구성 요소는 SERVLET 구성 요소를 사용하며 Atmosphere 라이브러리를 사용하여 다양한 서블릿 컨테이너(예:ECDHEty, Tomcat, …​)의 Websocket 전송을 지원합니다.

포함된ECDHEty 서버를 시작하는 Websocket 구성 요소와 달리 이 구성 요소는 컨테이너의 서블릿 공급자를 사용합니다.

Maven 사용자는 이 구성 요소의 pom.xml 에 다음 종속성을 추가해야 합니다.

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-atmosphere-websocket</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>
Copy to Clipboard Toggle word wrap

11.1. hybrid-Websocket 옵션

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

Expand
이름설명Default유형

servletName (consumer)

사용할 서블릿의 기본 이름입니다. 기본 이름은 CamelServlet입니다.

CamelServlet

문자열

httpRegistry (consumer)

사용자 지정 org.apache.camel.component.servlet.HttpRegistry를 사용합니다.

 

HttpRegistry

attachmentMultipart Binding (consumer)

Camel Exchange의 첨부 파일로 자동 바인딩 다중 부분/form-data를 바인딩할지 여부입니다. options attachmentMultipartBinding=true 및 disableStreamCache=false는 함께 작동할 수 없습니다. AttachmentMultipartBinding을 사용하려면 disableStreamCache를 제거합니다. 서블릿을 사용할 때 이를 활성화하려면 서블릿 특정 구성이 필요할 수 있으므로 이 설정은 기본적으로 해제됩니다.

false

boolean

fileNameExtWhitelist (consumer)

업로드된 파일을 수락하기 위한 허용된 파일 확장자 허용 목록. 여러 확장 기능은 txt,xml 등 쉼표로 구분할 수 있습니다.

 

문자열

httpBinding (advanced)

사용자 지정ECDHEBinding을 사용하여 Camel 메시지와ECDHEClient 간의 매핑을 제어합니다.

 

HttpBinding

httpConfiguration (고급)

공유ECDHEConfiguration을 기본 구성으로 사용하려면 다음을 수행합니다.

 

HttpConfiguration

allowJavaSerialized Object (advanced)

요청이 context-type=application/x-java-serialized-object를 사용할 때 java 직렬화를 허용할지 여부입니다. 이는 기본적으로 해제되어 있습니다. 이 값을 사용하도록 설정하면 Java에서 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있습니다.

false

boolean

headerFilterStrategy (filter)

사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링합니다.

 

HeaderFilterStrategy

resolvePropertyECDHEholders (advanced)

구성 요소가 시작할 때 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders.

true

boolean

Atmosphere Websocket 엔드포인트는 URI 구문을 사용하여 구성됩니다.

atmosphere-websocket:servicePath
Copy to Clipboard Toggle word wrap

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

11.1.1. 경로 매개변수 (1 매개변수):

Expand
이름설명Default유형

servicePath

Websocket 끝점의 필수 이름

 

문자열

11.1.2. 쿼리 매개변수(38 매개변수):

Expand
이름설명Default유형

청크 (공용)

이 옵션이 false인 경우 Servlet은 HTTP 스트리밍을 비활성화하고 응답에 content-length 헤더를 설정합니다.

true

boolean

disableStreamCache (common)

Servlet의 원시 입력 스트림이 캐시되었는지 여부를 결정합니다(Camel은 파일의 메모리/overflow에서 파일, 스트림 캐싱) 캐시로 스트림을 읽습니다. 기본적으로 Camel은 Servlet 입력 스트림을 캐시하여 Camel이 스트림에서 모든 데이터를 검색할 수 있도록 여러 번 읽을 수 있도록 지원합니다. 그러나 파일 또는 기타 영구 저장소로 스트리밍하는 등 원시 스트림에 액세스해야 하는 경우 이 옵션을 true로 설정할 수 있습니다. DefaultHttpBinding은 요청 입력 스트림을 스트림 캐시에 복사하고 이 스트림을 여러 번 읽을 수 있도록 이 옵션이 false인 경우 메시지 본문에 배치합니다. Servlet을 사용하여 엔드포인트를 브리지/프로 프록시하는 경우 메시지 페이로드를 여러 번 읽을 필요가 없는 경우 이 옵션을 활성화하여 성능을 향상시키는 것이 좋습니다. http/http4 생산자는 기본적으로 응답 본문 스트림을 캐시합니다. 이 옵션을 true로 설정하면 생산자가 응답 본문 스트림을 캐시하지 않고 응답 스트림을 메시지 본문으로 그대로 사용합니다.

false

boolean

headerFilterStrategy (common)

사용자 정의 HeaderFilterStrategy를 사용하여 Camel 메시지로 헤더를 필터링합니다.

 

HeaderFilterStrategy

sendToAll (common)

모든 수신자에게 보낼지 여부(브로드캐스트) 또는 단일 수신자로 보냅니다.

false

boolean

transferException (common)

활성화된 경우 소비자 측에서 Exchange 처리가 실패하고 발생한 경우 예외는 응답에서 application/x-java-serialized-object 콘텐츠 유형으로 다시 직렬화되었습니다. 생산자 측에서 예외는 역직렬화되어 그대로 발생되며, 대신ECDHEOperationFailedException이 사용됩니다. 원인된 예외가 직렬화되어야 합니다. 이는 기본적으로 해제되어 있습니다. 이 값을 사용하도록 설정하면 Java에서 요청에서 Java로 들어오는 데이터를 역직렬화하고 잠재적인 보안 위험이 될 수 있습니다.

false

boolean

UseStreaming (common)

스트리밍을 활성화하여 여러 텍스트 조각으로 데이터를 보낼 수 있습니다.

false

boolean

httpBinding (common)

사용자 지정ECDHEBinding을 사용하여 Camel 메시지와ECDHEClient 간의 매핑을 제어합니다.

 

HttpBinding

async (consumer)

async 모드에서 작동하도록 소비자 구성

false

boolean

bridgeErrorHandler (consumer)

소비자가 수신되는 메시지를 선택하려고 하는 동안 예외가 발생했음을 나타내는 Camel 라우팅 오류 처리기에 소비자를 브리징할 수 있습니다. 즉, 소비자가 수신되는 메시지를 선택하려고 하는 동안 예외가 발생되거나 이제 메시지로 처리되고 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.Exception handler를 사용하여 WARN 또는 ERROR 수준에서 로깅되고 무시됩니다.

false

boolean

httpMethodRestrict (consumer)

GET/POST/PUT 등과 같은 일치하지 않는 경우에만 소비를 허용하는 데 사용됩니다. 여러 메서드를 쉼표로 구분하여 지정할 수 있습니다.

 

문자열

matchOnUriPrefix (consumer)

정확한 일치 항목이 없는 경우 소비자가 URI 접두사를 일치시켜 대상 소비자를 찾아야 하는지의 여부입니다.

false

boolean

responseBufferSize (consumer)

javax.servlet.ServletResponse에서 사용자 정의 버퍼 크기를 사용하려면 다음을 수행합니다.

 

정수

servletName (consumer)

사용할 서블릿의 이름

CamelServlet

문자열

attachmentMultipartBinding (consumer)

Camel Exchange의 첨부 파일로 자동 바인딩 다중 부분/form-data를 바인딩할지 여부입니다. options attachmentMultipartBinding=true 및 disableStreamCache=false는 함께 작동할 수 없습니다. AttachmentMultipartBinding을 사용하려면 disableStreamCache를 제거합니다. 서블릿을 사용할 때 이를 활성화하려면 서블릿 특정 구성이 필요할 수 있으므로 이 설정은 기본적으로 해제됩니다.

false

boolean

eagerCheckContentAvailable (consumer)

content-length 헤더가 0인지 아닌지에 관계없이 HTTP 요청에 콘텐츠가 있는지 여부를 확인합니다. HTTP 클라이언트가 스트리밍된 데이터를 전송하지 않는 경우 이 값을 설정할 수 있습니다.

false

boolean

예외 처리기 (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

fileNameExtWhitelist (consumer)

업로드된 파일을 수락하기 위한 허용된 파일 확장자 허용 목록. 여러 확장 기능은 txt,xml 등 쉼표로 구분할 수 있습니다.

 

문자열

optionsEnabled (consumer)

이 서블릿 소비자에 대해 HTTP 옵션 활성화 여부를 지정합니다. 기본적으로 OPTIONS가 해제되어 있습니다.

false

boolean

traceEnabled (consumer)

이 서블릿 소비자에 대해 HTTPignoreACE를 사용할지 여부를 지정합니다. 기본적으로 off가 해제되어 있습니다.

false

boolean

bridgeEndpoint (producer)

옵션이 true인 경우ECDHEProducer는 Exchange.HTTP_URI 헤더를 무시하고 요청에 끝점의 URI를 사용합니다. throwExceptionOnFailure 옵션을 false로 설정하여 모든 오류 응답을 다시 보낼 수도 있습니다.

false

boolean

connectionECDHE (producer)

연결 닫기 헤더를 HTTP 요청에 추가해야 하는지 여부를 지정합니다. 기본적으로 connection0:0은 false입니다.

false

boolean

copyHeaders (producer)

이 옵션이 true이면 IN exchange 헤더가 복사 전략에 따라 OUT 교환 헤더에 복사됩니다. 이 값을 false로 설정하면 HTTP 응답의 헤더만 포함할 수 있습니다( IN 헤더를 전파하지 않음).

true

boolean

httpMethod (producer)

사용할 HTTP 메서드를 구성합니다. 설정되어 있는 경우ECDHEMethod 헤더가 이 옵션을 재정의할 수 없습니다.

 

HttpMethods

ignoreResponseBody (producer)

이 옵션이 true인 경우 http 생산자는 응답 본문을 읽지 않고 입력 스트림을 캐시합니다.

false

boolean

preserveHostHeader (producer)

옵션이 true인 경우, Host 헤더가 현재 교환 호스트 헤더에 포함된 값으로 설정되고, 역방향 프록시 애플리케이션에서는 다운스트림 서버에서 호출한 URL을 반영하도록 하는 역방향 프록시 애플리케이션에 유용합니다. 이로 인해 호스트 헤더를 사용하여 프록시된 서비스에 대한 정확한 URL을 생성할 수 있습니다.

false

boolean

throwExceptionOnFailure (producer)

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

true

boolean

cookieHandler (producer)

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

 

CookieHandler

okStatusCodeRange (producer)

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

200-299

문자열

urlRewrite (producer)

더 이상 사용되지 않는 사용자 지정 org.apache.camel.component.http.UrlRewrite를 참조하여 bridge/proxy 엔드포인트에서 URL을 다시 작성할 수 있습니다. 자세한 내용은 http://camel.apache.org/urlrewrite.html에서 참조하십시오.

 

UrlRewrite

mapHttpMessageBody (advanced)

이 옵션이 true인 경우 교환의 IN exchange0:0이 HTTP 본문에 매핑됩니다. 이 값을 false로 설정하면 HTTP 매핑이 발생하지 않습니다.

true

boolean

mapHttpMessageFormUrl EncodedBody (advanced)

이 옵션이 true인 경우 교환의 IN exchange Form Encoded 본문이 HTTP에 매핑됩니다. 이 값을 false로 설정하면 HTTP Form Encoded 본문 매핑이 발생하지 않습니다.

true

boolean

mapHttpMessageHeaders (advanced)

이 옵션이 true이면 교환 헤더의 IN exchange Headers가 HTTP 헤더에 매핑됩니다. 이 값을 false로 설정하면 HTTP Headers 매핑이 발생하지 않습니다.

true

boolean

동기 (고급)

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

false

boolean

proxyAuthScheme (proxy)

사용할 프록시 인증 스키마

 

문자열

proxyHost (proxy)

사용할 프록시 호스트 이름

 

문자열

proxyPort (proxy)

사용할 프록시 포트

 

int

authHost (보안)

NTML과 함께 사용할 인증 호스트

 

문자열

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat