12장. Fence Websocket 구성 요소


Camel 버전 2.14에서 사용 가능

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

포함된 Cryostat 서버를 시작하는 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>

12.1. Fence-Websocket Options

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

이름설명기본유형

servletName (consumer)

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

CamelServlet

문자열

httpRegistry (consumer)

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

 

HttpRegistry

attachmentMultipart 바인딩 (consumer)

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

false

boolean

fileNameExtWhitelist (consumer)

업로드된 파일을 수락하기 위해 허용되는 파일 이름 확장의 허용 목록. 여러 확장 프로그램은 txt,xml과 같이 쉼표로 구분할 수 있습니다.

 

문자열

httpBinding (advanced)

사용자 지정 CryostatBinding을 사용하여 Camel 메시지와 CryostatClient 간의 매핑을 제어하려면 다음을 수행합니다.

 

HttpBinding

httpConfiguration (고급)

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

 

HttpConfiguration

allowJavaSerialized Object (advanced)

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

false

boolean

headerFilterStrategy (filter)

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

 

HeaderFilterStrategy

resolveProperty Placeholders (advanced)

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

true

boolean

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

atmosphere-websocket:servicePath

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

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

이름설명기본유형

servicePath

필수 웹 소켓 끝점 이름

 

문자열

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

이름설명기본유형

청크 (공용)

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

true

boolean

disableStreamCache (common)

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

false

boolean

headerFilterStrategy (common)

사용자 정의 HeaderFilterStrategy를 사용하여 Camel 메시지로의 헤더를 필터링하려면 다음을 수행합니다.

 

HeaderFilterStrategy

sendToAll (공용)

모두(브로드캐스트)로 전송하거나 단일 수신자에게 보낼지 여부입니다.

false

boolean

transferException (공용)

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

false

boolean

useStreaming (common)

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

false

boolean

httpBinding (common)

사용자 지정 CryostatBinding을 사용하여 Camel 메시지와 CryostatClient 간의 매핑을 제어하려면 다음을 수행합니다.

 

HttpBinding

async (consumer)

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

false

boolean

bridgeErrorHandler (consumer)

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

false

boolean

httpMethodRestrict (consumer)

GET/POST/PUT 등과 같이 CryostatMethod가 일치하는 경우에만 사용을 허용하는 데 사용됩니다. 여러 메서드를 쉼표로 구분할 수 있습니다.

 

문자열

matchOnUriPrefix (consumer)

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

false

boolean

responseBufferSize (consumer)

javax.servlet.Servlet.ServletResponse에서 사용자 지정 버퍼 크기를 사용합니다.

 

정수

servletName (consumer)

사용할 서블릿의 이름

CamelServlet

문자열

attachmentMultipartBinding (consumer)

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

false

boolean

eagerCheckContentAvailable (consumer)

content-length 헤더가 0이거나 존재하지 않는 경우 HTTP 요청에 콘텐츠가 있는지 여부를 신속하게 확인할지 여부입니다. HTTP 클라이언트가 스트리밍된 데이터를 보내지 않는 경우 이 설정을 설정할 수 있습니다.

false

boolean

exceptionHandler (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

fileNameExtWhitelist (consumer)

업로드된 파일을 수락하기 위해 허용되는 파일 이름 확장의 허용 목록. 여러 확장 프로그램은 txt,xml과 같이 쉼표로 구분할 수 있습니다.

 

문자열

optionsEnabled (consumer)

이 서블릿 소비자에 HTTP OPTIONS를 활성화할지 여부를 지정합니다. 기본적으로 OPTIONS는 꺼져 있습니다.

false

boolean

traceEnabled (consumer)

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

false

boolean

bridgeEndpoint (producer)

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

false

boolean

connectionClose (producer)

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

false

boolean

copyHeaders (producer)

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

true

boolean

httpMethod (producer)

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

 

HttpMethods

ignoreResponseBody (producer)

이 옵션이 true인 경우 http 프로듀서에서 응답 본문을 읽지 않고 입력 스트림을 캐시하지 않습니다.

false

boolean

preserveHostHeader (producer)

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

false

boolean

throwExceptionOnFailure (producer)

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

true

boolean

cookieHandler (producer)

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

 

CookieHandler

okStatusCodeRange (producer)

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

200-299

문자열

urlRewrite (producer)

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

 

UrlRewrite

mapHttpMessageBody (advanced)

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

true

boolean

mapHttpMessageFormUrl EncodedBody (advanced)

이 옵션이 true인 경우 교환 양식 인코딩 본문이 HTTP에 매핑됩니다. 이를 false로 설정하면 HTTP 양식 Encoded 본문 매핑이 발생하지 않습니다.

true

boolean

mapHttpMessageHeaders (advanced)

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

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

© 2024 Red Hat, Inc.