156장. 고정 캐시 구성 요소
Camel 버전 2.17로 사용 가능
Ignite Cache endpoint는 Ignite Cache 와 상호 작용할 수 있는 camel-ignite 엔드포인트 중 하나입니다. 이를 통해 Producer(Ignite 캐시의 캐시 작업을 호출) 및 Consumer(지속 쿼리의 변경 사항 사용)를 모두 제공합니다.
캐시 값은 항상 메시지의 본문이지만 캐시 키는 항상 IgniteConstants.IGNITE_CACHE_KEY
메시지 헤더에 저장됩니다.
끝점 URI에서 고정 작업을 구성하는 경우에도 IgniteConstants.IGNITE_CACHE_OPERATION
메시지 헤더를 설정하여 해당 작업을 변경할 수 있습니다.
156.1. 옵션
Ignite Cache 구성 요소는 아래 나열된 4가지 옵션을 지원합니다.
이름 | 설명 | 기본값 | 유형 |
---|---|---|---|
맞춤식 (일반) | Ignite 인스턴스를 설정합니다. | ignite | |
configurationResource (일반) | 구성을 로드할 위치에서 리소스를 설정합니다. URI, URI(URI) 또는 InputStream일 수 있습니다. | 개체 | |
igniteConfiguration (일반) | 사용자가 프로그래밍 방식의 IgniteConfiguration을 설정할 수 있도록 합니다. | IgniteConfiguration | |
resolveProperty Placeholders (advanced) | 구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders. | true | boolean |
Ignite Cache 끝점은 URI 구문을 사용하여 구성됩니다.
ignite-cache:cacheName
다음 경로 및 쿼리 매개변수를 사용합니다.
156.1.1. 경로 매개 변수 (1 매개변수):
이름 | 설명 | 기본값 | 유형 |
---|---|---|---|
cacheName | 필수 캐시 이름입니다. | 문자열 |
156.1.2. 쿼리 매개변수(16 매개변수):
이름 | 설명 | 기본값 | 유형 |
---|---|---|---|
propagateIncomingBodyIfNo ReturnValue (common) | 기본 Ignite 작업의 반환 형식이 void이면 들어오는 본문을 전파할지 여부를 설정합니다.Sets whether to propagate the incoming body if the return type of the underlying Ignite operation is void. | true | boolean |
treatCollectionsAsCache Objects (common) | 컬렉션을 캐시 개체 또는 삽입/업데이트/계산할 항목의 컬렉션으로 처리할지 여부를 설정합니다.Sets whether to treat Collections as cache objects or as Collections of items to insert/update/compute, etc. | false | boolean |
autoUnsubscribe (consumer) | 연속 쿼리 소비자에서 자동 구독이 활성화되었는지 여부입니다. | true | boolean |
bridgeErrorHandler (consumer) | 소비자를 Camel 라우팅 오류 처리기에 브리징할 수 있습니다. 이는 소비자가 들어오는 메시지를 선택하는 동안 예외가 발생한 것을 의미하며, 이제 메시지로 처리되어 라우팅 오류 처리기에 의해 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | false | boolean |
fireExistingQueryResults (consumer) | 쿼리와 일치하는 기존 결과를 처리할지 여부입니다. 지속적 쿼리 소비자의 초기화에 사용됩니다. | false | boolean |
oneExchangePerUpdate (consumer) | 여러 업데이트가 하나의 일괄 처리로 수신되더라도 각 업데이트를 개별 Exchange에 패키징할지 여부입니다. 지속적 쿼리 소비자만 사용합니다. | true | boolean |
pageSize (consumer) | 페이지 크기입니다. 지속적 쿼리 소비자만 사용합니다. | 1 | int |
쿼리 (consumer) | 실행할 쿼리, 해당 작업이 필요한 작업 및 지속적 쿼리 소비자의 경우 필요합니다.The Query to execute, only needed for operations that require it, and for the Continuous Query Consumer. | 쿼리 | |
remoteFilter (consumer) | 연속 쿼리 소비자만 사용하는 원격 필터입니다. | CacheEntryEvent SerializableFilter | |
TimeInterval (consumer) | 지속적 쿼리 소비자의 시간 간격입니다. | 0 | long |
예외 처리기 (consumer) | 소비자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있는지 확인한 후 이 옵션은 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시되는 예외를 처리합니다. | ExceptionHandler | |
exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
cachePeekMode (producer) | CachePeekMode는 이를 필요로 하는 작업에만 필요합니다(IgniteCacheOperation#SIZE). | ALL | CachePeekMode |
failIfInexistentCache (producer) | 캐시가 없는 경우 초기화에 실패할지 여부입니다. | false | boolean |
작업 (producer) | 호출할 캐시 작업입니다. 가능한 값: GET, PUT, REMOVE, SIZE, REBALANCE, QUERY, CLEAR. | IgniteCacheOperation | |
synchronous (advanced) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |