306.2. 구성 요소 옵션 및 구성


Simple JMS Batch 구성 요소는 아래에 나열된 5 가지 옵션을 지원합니다.

Expand
이름설명Default유형

ConnectionFactory (advanced)

SjmsBatchComponent를 활성화하려면 ConnectionFactory가 필요합니다.

 

ConnectionFactory

asyncStartListener (고급)

경로를 시작할 때 소비자 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 연결할 수 없는 경우 다시 시도 및/또는 페일오버하는 동안 차단될 수 있습니다. 이로 인해 경로를 시작하는 동안 Camel이 차단됩니다. 이 옵션을 true로 설정하면 JmsConsumer가 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결하는 동안 시작 경로를 라우팅하도록 합니다. 이 옵션을 사용하는 경우 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자가 메시지를 수신할 수 없습니다. 그런 다음 경로를 다시 시작하여 다시 시작할 수 있습니다.

false

boolean

recoveryInterval (advanced)

복구 시도 사이의 간격(예: 연결이 새로 고쳐질 때 밀리초)을 지정합니다. 기본값은 5000 ms, 즉 5초입니다.

5000

int

headerFilterStrategy (filter)

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

 

HeaderFilterStrategy

resolveProperty Placeholders (advanced)

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

true

boolean

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

sjms-batch:destinationName

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

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

Expand
이름설명Default유형

destinationName

대상 이름입니다. 대기열만 지원되며 이름 앞에 'queue:'가 붙을 수 있습니다.

 

문자열

306.2.2. 쿼리 매개변수(23 매개변수):

Expand
이름설명Default유형

aggregationStrategy (consumer)

필수 필수: 배치된 모든 메시지를 단일 메시지로 병합하는 집계 전략

 

AggregationStrategy

allowNullBody (consumer)

본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다.

true

boolean

bridgeErrorHandler (consumer)

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

false

boolean

completionInterval (consumer)

완료 간격(밀리초)으로 인해 간격마다 예약된 고정 속도로 배치가 완료됩니다. 시간 초과가 트리거되고 배치에 메시지가 없는 경우 배치가 비어 있을 수 있습니다. 완료 제한 시간 및 완료 간격을 동시에 사용할 수 없으며 하나만 구성할 수 있습니다.

1000

int

completionPredicate (Consumer)

서술자가 true로 평가될 때 배치를 완료하도록 하는 완료 서술자입니다. 서술자는 문자열 구문을 사용하여 간단한 언어를 사용하여 구성할 수도 있습니다. 서술자가 들어오는 메시지와 일치하도록 하려면 옵션을 eagerCheckCompletion을 true로 설정하면 집계된 메시지와 일치하도록 할 수 있습니다.

 

문자열

completionSize (consumer)

배치가 완료될 때 소비되는 메시지 수

200

int

completionTimeout (consumer)

일괄 처리가 완료될 때 첫 번째 메시지가 수신되는 시간 초과(밀리초)입니다. 시간 초과가 트리거되고 배치에 메시지가 없는 경우 배치가 비어 있을 수 있습니다. 완료 제한 시간 및 완료 간격을 동시에 사용할 수 없으며 하나만 구성할 수 있습니다.

500

int

consumerCount (consumer)

사용할 JMS 세션 수

1

int

eagerCheckCompletion (consumer)

즉시 완료 검사를 사용하면 completionPredicate에서 들어오는 교환을 사용합니다. completionPredicate를 신속하게 확인하지 않고는 집계된 교환을 사용합니다.

false

boolean

모든 JMSXProperties(consumer) 포함

JMS에서 Camel Message로 매핑할 때 모든 JMSXxxx 속성을 포함할지 여부입니다. 이 값을 true로 설정하면 JMSXAppID 및 JMSXUserID 등과 같은 속성이 포함됩니다. 참고: 사용자 정의 headerFilterStrategy를 사용하는 경우 이 옵션이 적용되지 않습니다.

false

boolean

mapJmsMessage (consumer)

Camel이 수신된 JMS 메시지를 javax.jms. CryostatMessage와 같은 적절한 페이로드 유형에 자동으로 매핑해야 하는지를 지정합니다. 자세한 내용은 아래에서 매핑 작동 방법에 대한 섹션을 참조하십시오.

true

boolean

pollDuration (consumer)

메시지에 대한 각 폴링의 지속 시간(밀리초)입니다. completionTimeOut은 더 짧고 일괄 처리가 시작된 경우 사용됩니다.

1000

int

sendEmptyMessagewhenIdle (consumer)

완료 시간 초과 또는 간격을 사용하는 경우 시간 초과가 트리거되고 배치에 메시지가 없는 경우 배치가 비어 있을 수 있습니다. 이 옵션이 true이고 배치가 비어 있으면 빈 메시지가 배치에 추가되므로 빈 메시지가 라우팅됩니다.

false

boolean

exceptionHandler (consumer)

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

 

ExceptionHandler

exchangePattern (Consumer)

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

 

ExchangePattern

asyncStartListener (고급)

경로를 시작할 때 소비자 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 연결할 수 없는 경우 다시 시도 및/또는 페일오버하는 동안 차단될 수 있습니다. 이로 인해 경로를 시작하는 동안 Camel이 차단됩니다. 이 옵션을 true로 설정하면 JmsConsumer가 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결하는 동안 시작 경로를 라우팅하도록 합니다. 이 옵션을 사용하는 경우 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자가 메시지를 수신할 수 없습니다. 그런 다음 경로를 다시 시작하여 다시 시작할 수 있습니다.

false

boolean

headerFilterStrategy (advanced)

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

 

HeaderFilterStrategy

jmsKeyFormatStrategy (advanced)

JMS 키를 인코딩 및 디코딩하여 JMS 사양을 준수할 수 있도록 플러그형 전략입니다. Camel은 기본적으로 default 및 passthrough의 두 가지 구현을 제공합니다. 기본 전략은 점과 하이픈(. and -)을 안전하게 마샬링합니다. passthrough 전략에서는 키를 그대로 둡니다. 는 JMS 헤더 키에 잘못된 문자가 포함되어 있는지와 관련이 없는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다.

 

JmsKeyFormatStrategy

keepAliveDelay (고급)

유효한 세션을 다시 설정하려는 시도 사이의 지연 시간(밀리초)입니다. 이 값이 양수인 경우 SjmsBatchConsumer는 메시지 사용 중에 IllegalStateException이 표시되는 경우 새 세션을 생성하려고 합니다. 이 지연 값을 사용하면 로그 스팸을 방지하기 위해 시도 간에 일시 중지할 수 있습니다. 이 값이 음수 값(기본값)이면 SjmsBatchConsumer는 이전과 같이 작동합니다. 즉, IllegalStateException이 표시되면 경로가 종료됩니다.

-1

int

messageCreatedStrategy (advanced)

Camel이 JMS 메시지를 보낼 때 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다.

 

MessageCreatedStrategy

recoveryInterval (advanced)

복구 시도 사이의 간격(예: 연결이 새로 고쳐질 때 밀리초)을 지정합니다. 기본값은 5000 ms, 즉 5초입니다.

5000

int

동기 (고급)

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

false

boolean

timeoutCheckerExecutor 서비스 (고급)

completionInterval 옵션을 사용하는 경우 백그라운드 스레드가 완료 간격을 트리거하도록 생성됩니다. 모든 소비자에 대해 새 스레드를 생성하는 대신 사용할 사용자 지정 스레드 풀을 제공하려면 이 옵션을 설정합니다.

 

ScheduledExecutor 서비스

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2026 Red Hat
맨 위로 이동