325.2. 옵션


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

Expand
이름설명Default유형

데이터 소스 (공용)

데이터베이스와 통신하는 데 사용할 DataSource를 설정합니다.

 

DataSource

UsePlaceholder (advanced)

자리 표시자를 사용할지 여부를 설정하고 모든 자리 표시자 문자를 SQL 쿼리에 서명하여 교체할지 여부를 설정합니다.Sets whether to use placeholder and replace all placeholder characters with sign in the SQL queries. 이 옵션은 기본적으로 true입니다.

true

boolean

resolvePropertyECDHEholders (advanced)

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

true

boolean

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

sql:query
Copy to Clipboard Toggle word wrap

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

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

Expand
이름설명Default유형

query

수행할 SQL 쿼리를 설정합니다. file: 또는 classpath:를 접두사로 사용하여 쿼리를 외부화하고 파일의 위치를 지정할 수 있습니다.

 

문자열

325.2.2. 쿼리 매개변수(45 매개변수):

Expand
이름설명Default유형

allowNamedParameters (common)

쿼리에 이름이 지정된 매개변수를 사용할 수 있는지 여부입니다.

true

boolean

데이터 소스 (공용)

데이터베이스와 통신하는 데 사용할 DataSource를 설정합니다.

 

DataSource

dataSourceRef (common)

더 이상 사용되지 않는 경우 데이터베이스와 통신하는 데 사용할 DataSource에서 조회할 참조를 설정합니다.

 

문자열

outputClass (공용)

outputType=SelectOne 또는 SelectList에서 변환으로 사용할 전체 패키지 및 클래스 이름을 지정합니다.

 

문자열

outputHeader (공용)

메시지 본문이 아닌 헤더에 쿼리 결과를 저장합니다. 기본적으로 outputHeader == null 및 쿼리 결과는 메시지 본문에 저장되고 메시지 본문의 기존 콘텐츠가 삭제됩니다. outputHeader를 설정하면 쿼리 결과를 저장하기 위해 헤더의 이름으로 값이 사용되며 원래 메시지 본문이 유지됩니다.

 

문자열

OutputType (공용)

다음과 같은 방법으로 쿼리에 단일 열만 있는 경우 (예: COUNT( ) FROM PROJECT) 쿼리에 Long 오브젝트를 반환합니다. (예: FlexVolume COUNT( ) FROM PROJECT와 같은 경우) 쿼리에서 해당 결과 맵을 반환합니다. c) c) output is set, if the query has only single column, and then that JDBC Column object is returned a long object. b) from the query has more than one column, then it returns a result, if the query has more than one column 그런 다음 열 이름과 일치하는 모든 setgradle을 호출하여 쿼리 결과를 JavaBean 오브젝트로 변환합니다. 클래스에 인스턴스를 생성하는 기본 생성자가 있다고 가정합니다. d) 쿼리가 두 개 이상의 행이 발생하면 고유하지 않은 결과 예외가 발생합니다.

SelectList

SqlOutputType

구분자 (공용)

# 자리 표시자에서 삽입할 때 사용할 매개 변수 값을 메시지 본문에서 가져온 경우(문자열 유형인 경우) 사용할 구분자입니다. 이름이 지정된 매개변수를 사용하는 경우 Map 유형이 대신 사용됩니다. 기본값은 쉼표입니다.

,

knative

breakBatchOnConsumeFail (consumer)

onConsume에 실패할 경우 배치를 중단할지 여부를 설정합니다.

false

boolean

bridgeErrorHandler (consumer)

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

false

boolean

expectedUpdateCount (consumer)

onConsume를 사용할 때 유효성을 검사할 예상 업데이트 수를 설정합니다.

-1

int

maxMessagesPerPoll (consumer)

폴링할 최대 메시지 수를 설정합니다.

 

int

onConsume (consumer)

각 행을 처리한 후 이 쿼리를 실행할 수 있습니다.After processing each row then this query can be executed, if the Exchange was processed successfully, for example to mark the row as processed. 쿼리에 매개 변수가 있을 수 있습니다.

 

문자열

onConsumeBatchComplete (consumer)

전체 일괄 처리를 수행한 후 이 쿼리를 대규모 업데이트 행 등에 실행할 수 있습니다. 쿼리에 매개 변수가 있을 수 없습니다.

 

문자열

onConsumeFailed (consumer)

각 행을 처리한 후 이 쿼리를 실행할 수 있습니다.After processing each row then this query can be executed, if the Exchange failed, for example to mark the row as failed. 쿼리에 매개 변수가 있을 수 있습니다.

 

문자열

routeEmptyResultSet (consumer)

빈 결과 집합을 다음 홉으로 보낼 수 있는지 여부를 설정합니다. 기본값은 false입니다. 따라서 빈 결과 집합이 필터링됩니다.

false

boolean

sendEmptyMessageWhenIdle (consumer)

폴링 소비자가 파일을 폴링하지 않은 경우 이 옵션을 활성화하여 빈 메시지(인체 없음)를 보낼 수 있습니다.

false

boolean

Transacted (consumer)

트랜잭션을 활성화하거나 비활성화합니다. 그런 다음 교환 처리가 실패하면 소비자는 추가 교환을 처리하여 롤백을 초래합니다.

false

boolean

Use dayerator (consumer)

결과값을 경로로 전달해야 하는 방법을 설정합니다. 목록 또는 개별 오브젝트로 전달을 나타냅니다. 기본값은 true입니다.

true

boolean

예외 처리기 (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

pollStrategy (consumer)

플러그형 org.apache.camel.PollingConsumerPollingStrategy를 사용하면 Exchange를 생성하고 Camel에서 라우팅하기 전에 일반적으로 폴링 작업 중에 발생한 오류 처리를 제어하기 위해 사용자 정의 구현을 제공할 수 있습니다.

 

PollingConsumerPoll Strategy

processingStrategy (consumer)

플러그인을 사용하여 사용자 지정 org.apache.camel.component.sql.SqlProcessingStrategy를 사용하여 소비자가 행/전달을 처리할 때 쿼리를 실행할 수 있습니다.

 

SqlProcessingStrategy

일괄 처리 (producer)

배치 모드 사용 또는 비활성화

false

boolean

noop (producer)

설정하면 SQL 쿼리의 결과를 무시하고 기존 IN 메시지를 처리 중단을 위한 OUT 메시지로 사용합니다.

false

boolean

useMessageBodyForSql (producer)

메시지 본문을 SQL으로 사용한 다음 매개변수에 헤더를 사용할지 여부입니다. 이 옵션을 사용하면 uri의 SQL이 사용되지 않습니다.

false

boolean

alwaysPopulateStatement (advanced)

활성화된 경우 org.apache.camel.component.sql.SqlPrepareStatementStrategy의 populateStatement 메서드가 항상 호출됩니다. 이 값이 false인 경우 설정할 예상 매개 변수가 1개 이상인 경우에만 populateStatement가 호출됩니다. 예를 들어, 이렇게 하면 매개 변수가 없는 SQL 쿼리에 대한 메시지 본문/헤더를 읽지 않습니다.

false

boolean

parametersCount (advanced)

0보다 큰 값을 설정하면 Camel은 JDBC 메타데이터 API를 통해 쿼리하는 대신 이 수의 매개 변수 값을 사용합니다. JDBC 벤더가 올바른 매개변수 수를 반환할 수 없는 경우 사용자가 대신 재정의할 수 있는 경우 유용합니다.

 

int

자리 표시자 (고급)

SQL 쿼리에서 대체될 문자를 지정합니다. 이는 간단한 String.replaceAll() 작업이며 SQL 구문 분석과 관련이 없습니다. 인용된 문자열도 변경됩니다.

#

문자열

prepareStatementStrategy (advanced)

플러그인에서 사용자 지정 org.apache.camel.component.sql.SqlPrepareStatementStrategy를 사용하여 쿼리 및 준비 문의 준비를 제어할 수 있습니다.

 

FlexVolumePrepareStatement 전략

동기 (고급)

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

false

boolean

templateOptions (고급)

맵에서 키/값으로 Spring JdbcTemplate을 구성합니다.

 

map

UsePlaceholder (advanced)

자리 표시자를 사용할지 여부를 설정하고 모든 자리 표시자 문자를 SQL 쿼리에 서명하여 교체할지 여부를 설정합니다.Sets whether to use placeholder and replace all placeholder characters with sign in the SQL queries. 이 옵션은 기본적으로 true입니다.

true

boolean

backoffErrorThreshold (scheduler)

backoffMultipler를 시작하기 전에 발생해야 하는 후속 오류 폴링(일부 오류 발생) 수입니다.

 

int

backoffIdleThreshold (scheduler)

backoffMultipler가 시작되기 전에 발생해야 하는 후속 유휴 폴링 수입니다.

 

int

backoffMultiplier (scheduler)

행에 여러 개의 유휴 상태/errors가 있는 경우 예약된 폴링 소비자 백오프를 허용합니다. 그러면 다음 실제 시도가 다시 발생하기 전에 건너뛸 폴링 수입니다. 이 옵션을 사용 중인 경우 backoffIdleThreshold 및/또는 backoffErrorThreshold도 구성해야 합니다.

 

int

지연 (scheduler)

다음 폴링 전 밀리초입니다. 60s(60초), 5m30s(5분 및 30초), 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다.

500

long

greedy (scheduler)

greedy가 활성화되면 이전에 폴링된 1개 이상의 메시지를 실행하면 ScheduledPollConsumer가 즉시 다시 실행됩니다.

false

boolean

initialDelay (scheduler)

첫 번째 폴링이 시작되기 전 밀리초입니다. 60s(60초), 5m30s(5분 및 30초), 1h(1시간)와 같은 단위를 사용하여 시간 값을 지정할 수도 있습니다.

1000

long

runLoggingLevel (scheduler)

소비자는 폴링할 때 시작/완전 로그 행을 기록합니다. 이 옵션을 사용하면 로깅 수준을 구성할 수 있습니다.

TRACE

LoggingLevel

scheduledExecutorService (scheduler)

소비자에 사용할 사용자 지정/공유 스레드 풀을 구성할 수 있습니다. 기본적으로 각 소비자에는 자체 단일 스레드 스레드 풀이 있습니다.

 

ScheduledExecutor Service

스케줄러 (scheduler)

camel-spring 또는 camel-quartz2 구성 요소에서 cron 스케줄러를 사용하려면 다음을 수행합니다.

none

ScheduledPollConsumer Scheduler

schedulerProperties (scheduler)

사용자 정의 스케줄러 또는 Quartz2, Spring 기반 스케줄러를 사용할 때 추가 속성을 구성하려면 다음을 수행합니다.

 

map

startScheduler (scheduler)

스케줄러를 자동으로 시작해야 하는지 여부입니다.

true

boolean

timeUnit (scheduler)

initialDelay 및 delay 옵션의 시간 단위입니다.

MILLISECONDS

TimeUnit

useFixedDelay (scheduler)

고정된 지연 또는 고정 속도가 사용되는 경우 제어합니다. 자세한 내용은 ScheduledExecutorService in JDK를 참조하십시오.

true

boolean

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat