검색

178.4. 옵션

download PDF

JMS Configuration DestinationRule의 속성에 매핑되는 JMS 끝점에서 다양한 속성을 구성할 수 있습니다.

주의

Spring JMS에 매핑

이러한 속성 중 대다수는 Camel이 메시지를 보내고 수신하는 데 사용하는 Spring JMS의 속성에 매핑됩니다. 따라서 관련 Spring 문서를 참조하여 이러한 속성에 대한 자세한 정보를 얻을 수 있습니다.

178.4.1. 구성 요소 옵션

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

이름설명Default유형

설정 (고급)

공유 JMS 구성을 사용하려면 다음을 수행합니다.

 

JmsConfiguration

acceptMessages stopping (consumer)

사용자가 중지하는 동안 메시지를 수락하는지 여부를 지정합니다. 이 옵션은 런타임 시 JMS 경로를 시작하고 중지하는 경우 대기열에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 대기 중인 메시지가 여전히 있는 경우 활성화를 고려할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지하면 메시지가 거부될 수 있으며 JMS 브로커는Reeliveries를 시도해야 하며, 다시 거부될 수 있으며 결국 메시지가 JMS 브로커의 dead letter queue로 이동할 수 있습니다. 이 옵션을 사용하려면 이 옵션을 사용하는 것이 좋습니다.

false

boolean

allowReplyManagerQuick stop (consumer)

Request-reply messaging을 위해 응답 관리자에 사용되는 DefaultMessageListenerContainer.runningAllowed 플래그를 사용하면 JmsConfiguration#isAcceptMessagesWhileStopping이 활성화된 경우, org.apache.camel.CamelContext가 현재 중지되고 있는지의 경우 DefaultMessageListenerContainer.runningAllowed 플래그를 빠르게 중지할 수 있습니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되어 있지만 응답 관리자에 대해 활성화하려면 이 플래그를 활성화해야 합니다.

false

boolean

acknowledgementMode (consumer)

Integer로 정의된 JMS 승인 모드입니다. 감사 모드에 대한 벤더별 확장을 설정할 수 있습니다. 일반 모드의 경우 대신 acknowledgementModeName을 사용하는 것이 좋습니다.

 

int

eagerLoadingOf Properties (consumer)

메시지가 로드되는 즉시 JMS 속성을 신속하게 로드할 수 있습니다. 이는 JMS 속성이 필요하지 않을 수 있으므로 일반적으로 비효율적이지만 기본 JMS 공급자와 JMS 속성 사용에 대한 조기에 문제가 발생할 수 있기 때문입니다.

false

boolean

acknowledgementModeName (consumer)

JMS 승인 이름(SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE)

AUTO_ ACKNOWLEDGE

문자열

autoStartup (consumer)

소비자 컨테이너가 자동으로 시작되어야 하는지 여부를 지정합니다.

true

boolean

cacheLevel (consumer)

기본 JMS 리소스의 ID로 캐시 수준을 설정합니다. 자세한 내용은 cacheLevelName 옵션을 참조하십시오.

 

int

cacheLevelName (consumer)

기본 JMS 리소스의 이름으로 캐시 수준을 설정합니다. 가능한 값은 CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION입니다. 기본 설정은 CACHE_AUTO입니다. 자세한 내용은 Spring 문서 및 Transactions Cache Levels를 참조하십시오.

CACHE_AUTO

문자열

replyToCacheLevelName (producer)

JMS를 통해 요청/응답을 수행할 때 응답 소비자의 이름으로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 대기열(임시가 아님)을 사용하는 경우에만 적용됩니다. Camel은 기본적으로 전용 또는 공유 w/ replyToSelectorName에 CACHE_CONSUMER를 사용합니다. 또한 replyToSelectorName 없이 공유할 수 있는 CACHE_SESSION입니다. IBMECDHE와 같은 일부 JMS 브로커는 replyToCacheLevelName=CACHE_NONE을 work로 설정해야 할 수 있습니다. 참고: 임시 큐를 사용하는 경우 CACHE_NONE은 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다.

 

문자열

clientID (common)

사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정된 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 주제별 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 가상 주제를 사용할 수 있습니다.

 

문자열

Consumer (consumer)

JMS에서 사용할 때 기본 동시 소비자 수를 지정합니다( JMS를 통한 요청/응답 아님). 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답을 수행할 때 replyToConcurrentConsumers 옵션을 사용하여 응답 메시지 리스너에서 동시 소비자 수를 제어할 수 있습니다.

1

int

replyToConcurrent Consumers (producer)

JMS를 통해 요청/응답할 때 기본 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오.

1

int

ConnectionFactory (common)

사용할 연결 팩토리입니다. 연결 팩토리에는 구성 요소 또는 끝점에서 구성해야 합니다.

 

ConnectionFactory

사용자 이름 (보안)

ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다.

 

문자열

암호 (보안)

ConnectionFactory와 함께 사용할 암호입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다.

 

문자열

deliveryPersistent (producer)

기본적으로 영구 전달을 사용할지 여부를 지정합니다.

true

boolean

deliveryMode (producer)

사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode로 정의된 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2.

 

정수

solidSubscriptionName (common)

상이한 주제 서브스크립션을 지정하는 데 사용되는 구독자 이름입니다. clientId 옵션도 구성해야 합니다.

 

문자열

exceptionListener (고급)

기본 JMS 예외에 대한 알림을 받을 JMS Exception Listener를 지정합니다.

 

ExceptionListener

오류 처리기 (advanced)

메시지를 처리하는 동안 캡처되지 않은 예외가 발생하는 경우 호출될 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 오류 처리기가 구성되지 않은 경우 이러한 예외는 WARN 수준에서 기록됩니다. 오류HandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 스택 추적을 기록해야 하는지 여부와 로깅 수준을 구성할 수 있습니다. 이렇게 하면 사용자 정의 오류 처리기를 코딩하는 것보다 구성하는 것이 훨씬 쉬워집니다.

 

ErrorHandler

errorHandlerLogging Level (logging)

로깅 취소 예외에 대한 기본 errorHandler 로깅 수준을 구성할 수 있습니다.

WARN

LoggingLevel

errorHandlerLogStack 추적 (logging)

기본 오류 처리기에 의해 stacktraces의 기록 여부를 제어할 수 있습니다.

true

boolean

explicitQosEnabled (producer)

메시지를 보낼 때 deliveryMode, 우선 순위 또는 timeToLive 서비스 기능을 사용해야 하는지 설정합니다. 이 옵션은 Spring의 JmsTemplate을 기반으로 합니다. deliveryMode, priority, timeToLive 옵션은 현재 끝점에 적용됩니다. 이는 메시지 세분성에서 작동하는 preserveMessageQos 옵션과 달리 Camel In 메시지 헤더에서 독점적으로 QoS 속성을 읽습니다.

false

boolean

exposeListenerSession (consumer)

메시지를 사용할 때 리스너 세션을 노출해야 하는지 여부를 지정합니다.

false

boolean

idleTaskExecutionLimit (advanced)

실행 중 메시지를 수신하지 않고 수신 대기 작업의 유휴 실행 제한을 지정합니다. 이 제한에 도달하면 작업이 종료되고 다른 실행 중인 작업(동적 스케줄링의 경우, maxConcurrentConsumers 설정을 참조하십시오). Spring에서 제공하는 추가 doc가 있습니다.

1

int

idleConsumerLimit (advanced)

특정 시간에 유휴 상태일 수 있는 소비자 수에 대한 제한을 지정합니다.

1

int

maxConcurrentConsumers (consumer)

JMS에서 사용할 때 최대 동시 소비자 수를 지정합니다( JMS를 통한 요청/응답 아님). 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답을 수행할 때 replyToMaxConcurrentConsumers 옵션을 사용하여 응답 메시지 리스너에서 동시 소비자 수를 제어할 수 있습니다.

 

int

replyToMaxConcurrent Consumers (producer)

JMS를 통해 요청/응답을 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오.

 

int

replyOnTimeoutToMax ConcurrentConsumers (producer)

JMS를 통해 요청/응답을 사용할 때 시간 초과가 발생한 경우 계속 라우팅할 수 있는 최대 동시 소비자 수를 지정합니다.

1

int

maxMessagesPerTask (advanced)

작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자(예: min max)에 범위를 사용하는 경우 이 옵션을 사용하여 적은 작업이 필요할 때 소비자가 축소하는 속도를 제어하도록 값을 eg 100으로 설정할 수 있습니다.

-1

int

messageConverter (advanced)

사용자 지정 Spring org.springframework.jms.support.converter.Message를 사용하려면 javax.jms.Message에서 매핑하는 방법을 제어할 수 있습니다.

 

MessageConverter

mapJmsMessage (advanced)

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

true

boolean

messageIdEnabled (advanced)

전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 메시지 ID가 null로 설정되어야 합니다. 공급자가 힌트를 무시하면 메시지 ID를 일반 고유 값으로 설정해야 합니다.

true

boolean

messageTimestampEnabled (advanced)

메시지 전송 시 기본적으로 타임 스탬프를 활성화할지 여부를 지정합니다.

true

boolean

alwaysCopyMessage (producer)

true인 경우 Camel은 항상 메시지를 전송하기 위해 생산자로 전달할 때 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우 (incidentally, Camel은 replyToDestinationSelectorName이 설정된 경우 alwaysCopyMessage 옵션을 true로 설정)와 같은 일부 상황에서 메시지를 복사해야 합니다.

false

boolean

UseMessageIDAs correlationID (advanced)

InOut 메시지에 대해 JMSMessageID를 항상 JMSCorrelationID로 사용할지 여부를 지정합니다.

false

boolean

우선순위 (producer)

1보다 큰 값은 전송할 때 메시지 우선 순위를 지정합니다(여기서 0은 우선순위가 가장 낮고 9가 가장 높음). 이 옵션을 적용하려면 explicitQosEnabled 옵션도 활성화해야 합니다.

4

int

FlexVolumeSubNoLocal (advanced)

자체 연결에서 게시한 메시지 전달을 억제할지 여부를 지정합니다.

false

boolean

receiveTimeout (advanced)

메시지를 수신하는 데 필요한 시간(밀리초)입니다.

1000

long

recoveryInterval (advanced)

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

5000

long

taskExecutor (consumer)

메시지 사용을 위해 사용자 지정 작업 executor를 지정할 수 있습니다.

 

TaskExecutor

deliveryDelay (producer)

JMS의 전송 호출에 사용할 전달 지연을 설정합니다. 이 옵션에는 JMS 2.0 호환 브로커가 필요합니다.

-1

long

TimeToLive (producer)

메시지를 보낼 때 메시지의 TTL(밀리초)을 지정합니다.

-1

long

거래됨 (ECDHE)

트랜잭션 모드를 사용할지 여부를 지정합니다.

false

boolean

lazyCreateTransaction Manager (ECDHE)

true인 경우 Camel은 옵션이 transacted=true일 때 transactionManager를 삽입하지 않은 경우 JmsTransactionManager를 생성합니다.

true

boolean

TransactionManager (ECDHE)

사용할 Spring 트랜잭션 관리자입니다.

 

PlatformTransaction Manager

TransactionName (ECDHE)

사용할 트랜잭션의 이름입니다.

 

문자열

TransactionTimeout (ECDHE)

트랜잭션 모드를 사용하는 경우 트랜잭션의 시간 제한 값(초)입니다.

-1

int

TestConnectionOn 시작 (common)

시작 시 연결을 테스트할지 여부를 지정합니다. 이렇게 하면 Camel이 시작될 때 모든 JMS 소비자가 JMS 브로커에 대한 유효한 연결을 갖도록 합니다. 연결을 부여할 수 없는 경우 Camel은 시작 시 예외를 발생시킵니다. 이렇게 하면 Camel이 실패한 연결로 시작되지 않습니다. JMS 생산자도 테스트됩니다.

false

boolean

asyncStartListener (advanced)

경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 연결할 수 없는 경우 재시도 및/또는 장애 조치(failover) 중에 차단될 수 있습니다. 이로 인해 경로를 시작하는 동안 Camel이 차단됩니다. 이 옵션을 true로 설정하면 경로를 시작할 수 있으며, JmsConsumer는 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결됩니다. 이 옵션을 사용하면 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자가 메시지를 수신할 수 없다는 점에 유의하십시오. 그런 다음 경로를 다시 시작할 수 있습니다.

false

boolean

asyncStopListener (advanced)

경로를 중지할 때 JmsConsumer 메시지 리스너를 비동기적으로 중지할지 여부입니다.

false

boolean

forceSendOriginal Message (producer)

mapJmsMessage=false Camel을 사용하면 경로 중 헤더(get 또는 set)를 건드리는 경우 새 JMS 대상에 보낼 새 JMS 메시지가 생성됩니다. Camel이 수신된 원래 JMS 메시지를 보내도록 하려면 이 옵션을 true로 설정합니다.

false

boolean

requestTimeout (producer)

InOut Exchange Pattern (밀리초)을 사용할 때 응답을 기다리는 시간 제한입니다. 기본값은 20초입니다. CamelJmsRequestTimeout 헤더를 포함하여 이 엔드포인트에서 시간 초과 값을 구성한 후 메시지 개별 시간 제한 값을 보유할 수 있습니다. requestTimeoutCheckerInterval 옵션도 참조하십시오.

20000

long

requestTimeoutChecker Interval (advanced)

JMS를 통해 요청/응답을 수행할 때 Camel이 시간 초과된 Exchange를 확인하는 빈도를 구성합니다. 기본적으로 Camel은 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빠르게 대응해야 하는 경우 이 간격을 낮추어 더 자주 확인할 수 있습니다. 시간 제한은 옵션 요청Timeout에 따라 결정됩니다.

1000

long

TransferExchange (advanced)

본문과 헤더 대신 교환을 전송할 수 있습니다. 다음 필드는 본문, 아웃 바디, Fult body, In headers, Out headers, Fult headers, exchange properties, exchange exception입니다. 이를 위해서는 오브젝트가 직렬화할 수 있어야 합니다. Camel은 직렬화할 수 없는 오브젝트를 제외하고 WARN 수준에서 기록합니다. 생산자와 소비자 측 모두에서 이 옵션을 활성화해야 하므로 Camel은 페이로드가 교환이고 일반 페이로드가 아님을 알고 있습니다.

false

boolean

transferException (advanced)

활성화된 경우 요청 응답(InOut) 및 Exchange가 소비자 측에서 실패한 경우 발생한 예외는 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception은 rethrown입니다. 이를 통해 영구 대기열을 사용하여 강력한 라우팅을 활성화하는 등 라우팅의 브리지로 Camel JMS를 사용할 수 있습니다. 또한 transferExchange가 활성화된 경우 이 옵션이 우선합니다. catch된 예외는 직렬화해야 합니다. 소비자 측의 원래 예외는 생산자에 반환되는 경우 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑될 수 있습니다.

false

boolean

transferFault (advanced)

활성화 및 사용 중인 경우 Request Reply messaging (InOut) 및 Exchange가 소비자 측에서ECDHE 오류로 실패한 경우 org.apache.camel.Message#isFault()에 대한 fault 플래그는 JmsConstants#JMS_TRANFER_FAULT 키가 있는 JMS 헤더로 응답을 다시 보냅니다. 클라이언트가 Camel인 경우 반환된 fault 플래그가 org.apache.camel.Message#setFault(boolean)에 설정됩니다. cxf 또는 spring-ws와 같은 fault를 지원하는 Camel 구성 요소를 사용할 때 이 기능을 사용하도록 설정할 수 있습니다.

false

boolean

jmsOperations (advanced)

org.springframework.jms.core.JmsOperations 인터페이스의 자체 구현을 사용할 수 있습니다. Camel은 기본적으로 JmsTemplate을 사용합니다. 테스트 목적으로 사용할 수 있지만 Spring API 문서에 명시된 대로 많이 사용되지는 않습니다.

 

JmsOperations

destinationResolver (advanced)

자체 확인 프로그램을 사용할 수 있는 플러그형 org.springframework.jms.support.destination.DestinationResolver (예: JNDI 레지스트리에서 실제 대상을 조회)

 

DestinationResolver

replyToType (producer)

JMS를 통해 요청/응답을 수행할 때 replyTo 대기열에 사용할 종류의 전략을 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel에서는 임시 대기열을 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유 대기열 대신 전용 큐를 사용할 수 있습니다. 자세한 내용은 Camel JMS 설명서, 특히 클러스터 환경에서 실행할 때의 영향과 공유 응답 대기열이 대체 시간 및 제외보다 성능이 높음에 대한 참고를 참조하십시오.

 

ReplyToType

preserveMessageQos (producer)

JMS 끝점의 QoS 설정 대신 메시지에 지정된 QoS 설정을 사용하여 메시지를 보내려면 true로 설정합니다. 다음 세 가지 헤더는 JMSPriority, JMSDeliveryMode 및 JMSExpiration으로 간주됩니다. 전부 또는 일부만 제공할 수 있습니다. 제공되지 않는 경우 Camel은 대신 엔드포인트의 값을 사용하도록 대체됩니다. 따라서 이 옵션을 사용할 때 헤더는 끝점의 값을 재정의합니다. 반면 explicitQosEnabled 옵션은 메시지 헤더의 값이 아닌 엔드포인트에 설정된 옵션만 사용합니다.

false

boolean

asyncConsumer (consumer)

JmsConsumer에서 Exchange를 비동기적으로 처리하는지 여부입니다. 활성화되면 JmsConsumer가 JMS 큐에서 다음 메시지를 선택할 수 있지만 이전 메시지는 비동기 라우팅 엔진에 의해 비동기적으로 처리됩니다. 즉, 메시지는 엄격하게 100% 처리되지 않을 수 있습니다. 비활성화된 경우 (기본값) JmsConsumer가 JMS 대기열에서 다음 메시지를 가져오기 전에 Exchange가 완전히 처리됩니다. 트랜잭션이 활성화된 경우 트랜잭션을 동기적으로 실행해야 하므로 asyncConsumer=true가 비동기적으로 실행되지 않습니다(Camel 3.0은 async 트랜잭션을 지원할 수 있음).

false

boolean

allowNullBody (producer)

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

true

boolean

includeSentJMS MessageID (producer)

InOnly를 사용하여 JMS 대상으로 전송할 때만 적용됩니다(예: fire 및 forget). 이 옵션을 활성화하면 메시지가 JMS 대상으로 전송되었을 때 JMS 클라이언트에서 사용한 실제 JMSMessageID를 사용하여 Camel Exchange를 보강합니다.

false

boolean

IncludeAllJMSX Properties (advanced)

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

false

boolean

defaultTaskExecutor 유형 (consumer)

소비자 끝점 및 생산자 끝점의 ReplyTo 소비자 모두에 대해 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync(Similar Spring의 SimpleAsyncTaskExecutor 사용) 또는 ThreadPoolTaskExecutor를 최적의 값 - 캐시된 threadpool-like으로 사용할 수 있습니다. 설정하지 않으면 소비자 엔드포인트에 캐시된 스레드 풀을 사용하고 응답 소비자에 대해 SimpleAsync를 사용하는 이전 동작으로 기본 설정됩니다. ThreadPool을 사용하면 탄력적 구성의 스레드 부족을 줄이고 동시 소비자가 동적으로 증가하고 감소하는 것이 좋습니다.

 

DefaultTaskExecutor 유형

jmsKeyFormatStrategy (advanced)

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

 

JmsKeyFormatStrategy

allowECDHEHeaders (producer)

이 옵션은 JMS 사양에 따라 유효하지 않은 값이 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어, WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 유효하지 않은 유형이 있는 값을 포함하는 접두사 JMS_IBM_MQMD_를 사용하여 헤더 이름으로 이 작업을 수행합니다. 쉼표로 구분된 여러 헤더 이름을 지정하고 와일드카드 일치에 접미사로 사용할 수 있습니다.

 

문자열

queueBrowseStrategy (advanced)

대기열 검색 시 사용자 정의 QueueBrowseStrategy 사용

 

QueueBrowseStrategy

messageCreatedStrategy (advanced)

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

 

MessageCreatedStrategy

waitForProvision CorrelationToBeUpdatedECDHE (advanced)

JMS를 통해 요청/재ply를 수행할 때 및 옵션 useMessageIDAsCorrelationID가 활성화된 경우 프로비저닝 상관 ID가 실제 상관 관계 ID로 업데이트될 때까지 대기하는 횟수입니다.

50

int

waitForProvision CorrelationToBeUpdated ThreadSleepingTime (advanced)

임시 상관 관계 ID가 업데이트될 때까지 기다리는 동안 millis의 간격은 유휴 상태가 됩니다.

100

long

correlationProperty (producer)

JMSCorrelationID 속성 대신 InOut 교환 패턴(request-reply)에서 메시지를 상호 작용하려면 이 JMS 속성을 사용합니다. 이를 통해 JMSCorrelationID JMS 속성을 사용하여 메시지의 상관관계가 없는 시스템과 메시지를 교환할 수 있습니다. JMSCorrelationID를 사용하는 경우 Camel에 의해 사용되거나 설정되지 않습니다. 여기서 이름이 지정된 속성 값은 동일한 이름의 메시지의 헤더에 제공되지 않으면 생성됩니다.

 

문자열

SubscriptionDurable (consumer)

서브스크립션 사용 여부를 설정합니다. 사용할 Subscription name은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않는 한 일반적으로 subscriptionName 값과 조합되면 이를 true로 설정합니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 FlexVolumeSubDomain 플래그를 전환합니다.

false

boolean

subscriptionShared (consumer)

서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 공유 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 공유 서브스크립션도 유지될 수 있으므로 이 플래그는 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 FlexVolumeSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다.

false

boolean

subscriptionName (consumer)

생성할 서브스크립션 이름을 설정합니다. 공유 또는 Restic 서브스크립션이 있는 주제(pub-sub 도메인)의 경우 적용할 수 있습니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. Default는 지정된 메시지 리스너의 클래스 이름입니다. 참고: 공유 서브스크립션( JMS 2.0 필요)을 제외하고 각 서브스크립션마다 동시 소비자(이 메시지 리스너 컨테이너의 기본값)만 허용됩니다.

 

문자열

streamMessageType Enabled (producer)

StreamMessage 유형이 활성화되었는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 종류의 메시지 페이로드는 BytesMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 종류를 제어합니다. 기본적으로 BytesMessage는 전체 메시지 페이로드를 메모리에 읽도록 적용하는 데 사용됩니다. 이 옵션을 사용하면 메시지 페이로드가 청크의 메모리에 읽히고 더 이상 데이터가 없을 때까지 각 청크가 StreamMessage에 기록됩니다.

false

boolean

formatDateHeadersTo Iso8601 (producer)

ISO 8601 표준에 따라 날짜 헤더를 포맷해야 하는지 여부를 설정합니다.

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

178.4.2. 끝점 옵션

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

jms:destinationType:destinationName

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

178.4.3. 경로 매개변수 (2 매개변수):

이름설명Default유형

destinationType

사용할 대상의 종류

문자열

destinationName

대상으로 사용할 큐 또는 항목의 필수 이름

 

문자열

178.4.4. 쿼리 매개변수(93 매개변수):

이름설명Default유형

clientID (common)

사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정된 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 주제별 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 가상 주제를 사용할 수 있습니다.

 

문자열

ConnectionFactory (common)

연결 팩토리가 setTemplateConnectionFactory(ConnectionFactory) 또는 setListenerConnectionFactory(ConnectionFactory)에 대해 지정되지 않은 경우 사용할 기본 연결 팩토리를 설정합니다.

 

ConnectionFactory

disableReplyTo (common)

Camel이 메시지에서 JMSReplyTo 헤더를 무시하는지 여부를 지정합니다. true인 경우 Camel은 JMSReplyTo 헤더에 지정된 대상에 응답을 다시 보내지 않습니다. Camel이 경로에서 사용되도록 하고 코드의 다른 구성 요소가 응답 메시지를 처리하므로 Camel이 응답 메시지를 자동으로 반환하도록 하려면 이 옵션을 사용할 수 있습니다. Camel을 다른 메시지 브로커 간에 프록시로 사용하고 한 시스템에서 다른 시스템으로 메시지를 라우팅하려는 경우에도 이 옵션을 사용할 수 있습니다.

false

boolean

solidSubscriptionName (common)

상이한 주제 서브스크립션을 지정하는 데 사용되는 구독자 이름입니다. clientId 옵션도 구성해야 합니다.

 

문자열

jmsMessageType (common)

이를 통해 JMS 메시지를 전송하기 위해 특정 javax.jms.Message 구현을 강제로 사용할 수 있습니다. 가능한 값은 Bytes, Map, Object, Stream, text입니다. 기본적으로 Camel은 본문 유형에서 사용할 JMS 메시지 유형을 결정합니다. 이 옵션을 사용하면 지정할 수 있습니다.

 

JmsMessageType

testConnectionOnStartup (common)

시작 시 연결을 테스트할지 여부를 지정합니다. 이렇게 하면 Camel이 시작될 때 모든 JMS 소비자가 JMS 브로커에 대한 유효한 연결을 갖도록 합니다. 연결을 부여할 수 없는 경우 Camel은 시작 시 예외를 발생시킵니다. 이렇게 하면 Camel이 실패한 연결로 시작되지 않습니다. JMS 생산자도 테스트됩니다.

false

boolean

acknowledgementModeName (consumer)

JMS 승인 이름(SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE)

AUTO_ ACKNOWLEDGE

문자열

asyncConsumer (consumer)

JmsConsumer에서 Exchange를 비동기적으로 처리하는지 여부입니다. 활성화되면 JmsConsumer가 JMS 큐에서 다음 메시지를 선택할 수 있지만 이전 메시지는 비동기 라우팅 엔진에 의해 비동기적으로 처리됩니다. 즉, 메시지는 엄격하게 100% 처리되지 않을 수 있습니다. 비활성화된 경우 (기본값) JmsConsumer가 JMS 대기열에서 다음 메시지를 가져오기 전에 Exchange가 완전히 처리됩니다. 트랜잭션이 활성화된 경우 트랜잭션을 동기적으로 실행해야 하므로 asyncConsumer=true가 비동기적으로 실행되지 않습니다(Camel 3.0은 async 트랜잭션을 지원할 수 있음).

false

boolean

autoStartup (consumer)

소비자 컨테이너가 자동으로 시작되어야 하는지 여부를 지정합니다.

true

boolean

bridgeErrorHandler (consumer)

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

false

boolean

cacheLevel (consumer)

기본 JMS 리소스의 ID로 캐시 수준을 설정합니다. 자세한 내용은 cacheLevelName 옵션을 참조하십시오.

 

int

cacheLevelName (consumer)

기본 JMS 리소스의 이름으로 캐시 수준을 설정합니다. 가능한 값은 CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, CACHE_SESSION입니다. 기본 설정은 CACHE_AUTO입니다. 자세한 내용은 Spring 문서 및 Transactions Cache Levels를 참조하십시오.

CACHE_AUTO

문자열

Consumer (consumer)

JMS에서 사용할 때 기본 동시 소비자 수를 지정합니다( JMS를 통한 요청/응답 아님). 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답을 수행할 때 replyToConcurrentConsumers 옵션을 사용하여 응답 메시지 리스너에서 동시 소비자 수를 제어할 수 있습니다.

1

int

artemisConsumerPriority (consumer)

소비자 우선순위를 사용하면 높은 우선 순위의 소비자가 활성화된 동안 메시지를 받을 수 있습니다. 일반적으로 대기열에 연결된 활성 소비자는 라운드 로빈 방식으로 메시지를 수신합니다. 소비자 우선순위를 사용하면 동일한 높은 우선 순위로 여러 활성 소비자가 존재하는 경우 메시지가 라운드 로빈 방식으로 전달됩니다. 메시지는 높은 우선 순위의 소비자가 메시지를 사용할 수 없는 경우 우선순위가 낮은 소비자로 이동하거나 높은 우선 순위 소비자가 메시지를 수락하지 못하는 경우(예: 소비자와 연결된 선택기의 기준을 충족하지 않기 때문에) 더 낮은 소비자로 이동합니다.

 

int

maxConcurrentConsumers (consumer)

JMS에서 사용할 때 최대 동시 소비자 수를 지정합니다( JMS를 통한 요청/응답 아님). 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답을 수행할 때 replyToMaxConcurrentConsumers 옵션을 사용하여 응답 메시지 리스너에서 동시 소비자 수를 제어할 수 있습니다.

 

int

replyTo (consumer)

Message.getJMSReplyTo()의 수신 값을 재정의하는 명시적인 ReplyTo 대상을 제공합니다.

 

문자열

replyToDeliveryPersistent (consumer)

기본적으로 응답에 영구 전달을 사용할지 여부를 지정합니다.

true

boolean

선택기 (consumer)

사용할 JMS 선택기 설정

 

문자열

SubscriptionDurable (consumer)

서브스크립션 사용 여부를 설정합니다. 사용할 Subscription name은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않는 한 일반적으로 subscriptionName 값과 조합되면 이를 true로 설정합니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 FlexVolumeSubDomain 플래그를 전환합니다.

false

boolean

subscriptionName (consumer)

생성할 서브스크립션 이름을 설정합니다. 공유 또는 Restic 서브스크립션이 있는 주제(pub-sub 도메인)의 경우 적용할 수 있습니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. Default는 지정된 메시지 리스너의 클래스 이름입니다. 참고: 공유 서브스크립션( JMS 2.0 필요)을 제외하고 각 서브스크립션마다 동시 소비자(이 메시지 리스너 컨테이너의 기본값)만 허용됩니다.

 

문자열

subscriptionShared (consumer)

서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 공유 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 공유 서브스크립션도 유지될 수 있으므로 이 플래그는 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법은 FlexVolumeSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다.

false

boolean

acceptMessages whileeStopping (consumer)

사용자가 중지하는 동안 메시지를 수락하는지 여부를 지정합니다. 이 옵션은 런타임 시 JMS 경로를 시작하고 중지하는 경우 대기열에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 큐에 대기 중인 메시지가 여전히 있는 경우 활성화를 고려할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지하면 메시지가 거부될 수 있으며 JMS 브로커는Reeliveries를 시도해야 하며, 다시 거부될 수 있으며 결국 메시지가 JMS 브로커의 dead letter queue로 이동할 수 있습니다. 이 옵션을 사용하려면 이 옵션을 사용하는 것이 좋습니다.

false

boolean

allowReplyManagerQuickStop (consumer)

Request-reply messaging을 위해 응답 관리자에 사용되는 DefaultMessageListenerContainers RunningAllowed() 플래그를 통해 JmsConfiguration#isAcceptMessagesWhileStopping()이 활성화된 경우, org.apache.camel.CamelContext가 현재 중지되고 있는지의 여부입니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되어 있지만 응답 관리자에 대해 활성화하려면 이 플래그를 활성화해야 합니다.

false

boolean

consumerType (consumer)

사용할 소비자 유형으로 Simple, Default 또는 Custom 중 하나일 수 있습니다. 소비자 유형은 사용할 Spring JMS 리스너를 결정합니다. 기본값은 org.springframework.jms.listener.DefaultMessageListenerContainer를 사용합니다. Simple는 org.springframework.jms.listener.SimpleMessageListenerContainer를 사용합니다. Custom이 지정되면 messageListenerContainerECDHEy 옵션에 의해 정의된 MessageListenerContainerECDHEy가 사용할 org.springframework.jms.listener.AbstractMessageListenerContainer를 결정합니다.

Default

ConsumerType

defaultTaskExecutorType (consumer)

소비자 끝점 및 생산자 끝점의 ReplyTo 소비자 모두에 대해 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync(Similar Spring의 SimpleAsyncTaskExecutor 사용) 또는 ThreadPoolTaskExecutor를 최적의 값 - 캐시된 threadpool-like으로 사용할 수 있습니다. 설정하지 않으면 소비자 엔드포인트에 캐시된 스레드 풀을 사용하고 응답 소비자에 대해 SimpleAsync를 사용하는 이전 동작으로 기본 설정됩니다. ThreadPool을 사용하면 탄력적 구성의 스레드 부족을 줄이고 동시 소비자가 동적으로 증가하고 감소하는 것이 좋습니다.

 

DefaultTaskExecutor 유형

eagerLoadingOfProperties (consumer)

메시지가 로드되면 즉시 JMS 속성 및 페이로드를 신속하게 로드할 수 있습니다. 이는 JMS 속성이 필요하지 않을 수 있으므로 일반적으로 비효율적이지만 기본 JMS 공급자와 JMS 속성 사용에 대한 조기에 문제가 발생할 수 있기 때문입니다.

false

boolean

예외 처리기 (consumer)

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

 

ExceptionHandler

exchangePattern (consumer)

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

 

ExchangePattern

exposeListenerSession (consumer)

메시지를 사용할 때 리스너 세션을 노출해야 하는지 여부를 지정합니다.

false

boolean

replyToSameDestination Allowed (consumer)

JMS 소비자가 응답 메시지를 소비자가 사용하는 것과 동일한 대상으로 보낼 수 있는지의 여부입니다. 이렇게 하면 끝없는 루프를 방지하고 동일한 메시지를 자체적으로 다시 보냅니다.

false

boolean

taskExecutor (consumer)

메시지 사용을 위해 사용자 지정 작업 executor를 지정할 수 있습니다.

 

TaskExecutor

deliveryDelay (producer)

JMS의 전송 호출에 사용할 전달 지연을 설정합니다. 이 옵션에는 JMS 2.0 호환 브로커가 필요합니다.

-1

long

deliveryMode (producer)

사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode로 정의된 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2.

 

정수

deliveryPersistent (producer)

기본적으로 영구 전달을 사용할지 여부를 지정합니다.

true

boolean

explicitQosEnabled (producer)

메시지를 보낼 때 deliveryMode, 우선 순위 또는 timeToLive 서비스 기능을 사용해야 하는지 설정합니다. 이 옵션은 Spring의 JmsTemplate을 기반으로 합니다. deliveryMode, priority, timeToLive 옵션은 현재 끝점에 적용됩니다. 이는 메시지 세분성에서 작동하는 preserveMessageQos 옵션과 달리 Camel In 메시지 헤더에서 독점적으로 QoS 속성을 읽습니다.

false

부울

formatDateHeadersToIso8601 (producer)

ISO 8601 표준에 따라 날짜 헤더를 포맷해야 하는지 여부를 설정합니다.

false

boolean

preserveMessageQos (producer)

JMS 끝점의 QoS 설정 대신 메시지에 지정된 QoS 설정을 사용하여 메시지를 보내려면 true로 설정합니다. 다음 세 가지 헤더는 JMSPriority, JMSDeliveryMode 및 JMSExpiration으로 간주됩니다. 전부 또는 일부만 제공할 수 있습니다. 제공되지 않는 경우 Camel은 대신 엔드포인트의 값을 사용하도록 대체됩니다. 따라서 이 옵션을 사용할 때 헤더는 끝점의 값을 재정의합니다. 반면 explicitQosEnabled 옵션은 메시지 헤더의 값이 아닌 엔드포인트에 설정된 옵션만 사용합니다.

false

boolean

우선순위 (producer)

1보다 큰 값은 전송할 때 메시지 우선 순위를 지정합니다(여기서 0은 우선순위가 가장 낮고 9가 가장 높음). 이 옵션을 적용하려면 explicitQosEnabled 옵션도 활성화해야 합니다.

4

int

replyToConcurrentConsumers (producer)

JMS를 통해 요청/응답할 때 기본 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오.

1

int

replyToMaxConcurrent Consumers (producer)

JMS를 통해 요청/응답을 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오.

 

int

replyToOnTimeoutMax ConcurrentConsumers (producer)

JMS를 통해 요청/응답을 사용할 때 시간 초과가 발생한 경우 계속 라우팅할 수 있는 최대 동시 소비자 수를 지정합니다.

1

int

replyToOverride (producer)

replyTo의 설정을 재정의하는 JMS 메시지의 명시적인 ReplyTo 대상을 제공합니다. 메시지를 원격 Queue로 전달하고 ReplyTo 대상에서 응답 메시지를 수신하려는 경우 유용합니다.

 

문자열

replyToType (producer)

JMS를 통해 요청/응답을 수행할 때 replyTo 대기열에 사용할 종류의 전략을 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel에서는 임시 대기열을 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유 대기열 대신 전용 큐를 사용할 수 있습니다. 자세한 내용은 Camel JMS 설명서, 특히 클러스터 환경에서 실행할 때의 영향과 공유 응답 대기열이 대체 시간 및 제외보다 성능이 높음에 대한 참고를 참조하십시오.

 

ReplyToType

requestTimeout (producer)

InOut Exchange Pattern (밀리초)을 사용할 때 응답을 기다리는 시간 제한입니다. 기본값은 20초입니다. CamelJmsRequestTimeout 헤더를 포함하여 이 엔드포인트에서 시간 초과 값을 구성한 후 메시지 개별 시간 제한 값을 보유할 수 있습니다. requestTimeoutCheckerInterval 옵션도 참조하십시오.

20000

long

TimeToLive (producer)

메시지를 보낼 때 메시지의 TTL(밀리초)을 지정합니다.

-1

long

allowECDHEHeaders (producer)

이 옵션은 JMS 사양에 따라 유효하지 않은 값이 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어, WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 유효하지 않은 유형이 있는 값을 포함하는 접두사 JMS_IBM_MQMD_를 사용하여 헤더 이름으로 이 작업을 수행합니다. 쉼표로 구분된 여러 헤더 이름을 지정하고 와일드카드 일치에 접미사로 사용할 수 있습니다.

 

문자열

allowNullBody (producer)

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

true

boolean

alwaysCopyMessage (producer)

true인 경우 Camel은 항상 메시지를 전송하기 위해 생산자로 전달할 때 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우 (incidentally, Camel은 replyToDestinationSelectorName이 설정된 경우 alwaysCopyMessage 옵션을 true로 설정)와 같은 일부 상황에서 메시지를 복사해야 합니다.

false

boolean

correlationProperty (producer)

JMSCorrelationID 속성 대신 InOut 교환 패턴(request-reply)에서 메시지를 상호 작용하려면 이 JMS 속성을 사용합니다. 이를 통해 JMSCorrelationID JMS 속성을 사용하여 메시지의 상관관계가 없는 시스템과 메시지를 교환할 수 있습니다. JMSCorrelationID를 사용하는 경우 Camel에 의해 사용되거나 설정되지 않습니다. 여기서 이름이 지정된 속성 값은 동일한 이름의 메시지의 헤더에 제공되지 않으면 생성됩니다.

 

문자열

disableTimeToLive (producer)

이 옵션을 사용하여 시간을 강제로 비활성화하십시오. 예를 들어 JMS를 통해 요청/응답을 수행할 때 Camel은 기본적으로 requestTimeout 값을 사용하여 메시지 전송 시 실시간으로 requestTimeout 값을 사용합니다. 문제는 발신자와 수신자 시스템이 시계가 동기화되어 동기화되어야 한다는 것입니다. 이것이 항상 아카이브하기 쉽지는 않습니다. 따라서 disableTimeToLive=true를 사용하여 보낸 메시지의 실시간 값으로 시간을 설정하지 않도록 할 수 있습니다. 그러면 메시지가 수신자 시스템에서 만료되지 않습니다. 자세한 내용은 아래 섹션을 참조하십시오.

false

boolean

forceSendOriginalMessage (producer)

mapJmsMessage=false Camel을 사용하면 경로 중 헤더(get 또는 set)를 건드리는 경우 새 JMS 대상에 보낼 새 JMS 메시지가 생성됩니다. Camel이 수신된 원래 JMS 메시지를 보내도록 하려면 이 옵션을 true로 설정합니다.

false

boolean

includeSentJMSMessageID (producer)

InOnly를 사용하여 JMS 대상으로 전송할 때만 적용됩니다(예: fire 및 forget). 이 옵션을 활성화하면 메시지가 JMS 대상으로 전송되었을 때 JMS 클라이언트에서 사용한 실제 JMSMessageID를 사용하여 Camel Exchange를 보강합니다.

false

boolean

replyToCacheLevelName (producer)

JMS를 통해 요청/응답을 수행할 때 응답 소비자의 이름으로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 대기열(임시가 아님)을 사용하는 경우에만 적용됩니다. Camel은 기본적으로 전용 또는 공유 w/ replyToSelectorName에 CACHE_CONSUMER를 사용합니다. 또한 replyToSelectorName 없이 공유할 수 있는 CACHE_SESSION입니다. IBMECDHE와 같은 일부 JMS 브로커는 replyToCacheLevelName=CACHE_NONE을 work로 설정해야 할 수 있습니다. 참고: 임시 큐를 사용하는 경우 CACHE_NONE은 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다.

 

문자열

replyToDestinationSelector 이름 (producer)

공유 큐를 사용할 때(즉, 임시 응답 대기열을 사용하지 않는 경우) 다른 사용자의 응답을 필터링할 수 있도록 고정 이름을 사용하여 JMS Selector를 설정합니다.

 

문자열

streamMessageTypeEnabled (producer)

StreamMessage 유형이 활성화되었는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 종류의 메시지 페이로드는 BytesMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 종류를 제어합니다. 기본적으로 BytesMessage는 전체 메시지 페이로드를 메모리에 읽도록 적용하는 데 사용됩니다. 이 옵션을 사용하면 메시지 페이로드가 청크의 메모리에 읽히고 더 이상 데이터가 없을 때까지 각 청크가 StreamMessage에 기록됩니다.

false

boolean

allowSerializedHeaders (advanced)

직렬화된 헤더를 포함할지 여부를 제어합니다. isTransferExchange()가 true인 경우에만 적용됩니다. 이를 위해서는 오브젝트가 직렬화할 수 있어야 합니다. Camel은 직렬화할 수 없는 오브젝트를 제외하고 WARN 수준에서 기록합니다.

false

boolean

asyncStartListener (advanced)

경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 연결할 수 없는 경우 재시도 및/또는 장애 조치(failover) 중에 차단될 수 있습니다. 이로 인해 경로를 시작하는 동안 Camel이 차단됩니다. 이 옵션을 true로 설정하면 경로를 시작할 수 있으며, JmsConsumer는 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결됩니다. 이 옵션을 사용하면 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자가 메시지를 수신할 수 없다는 점에 유의하십시오. 그런 다음 경로를 다시 시작할 수 있습니다.

false

boolean

asyncStopListener (advanced)

경로를 중지할 때 JmsConsumer 메시지 리스너를 비동기적으로 중지할지 여부입니다.

false

boolean

destinationResolver (advanced)

자체 확인 프로그램을 사용할 수 있는 플러그형 org.springframework.jms.support.destination.DestinationResolver (예: JNDI 레지스트리에서 실제 대상을 조회)

 

DestinationResolver

오류 처리기 (advanced)

메시지를 처리하는 동안 캡처되지 않은 예외가 발생하는 경우 호출될 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 오류 처리기가 구성되지 않은 경우 이러한 예외는 WARN 수준에서 기록됩니다. 오류HandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 스택 추적을 기록해야 하는지 여부와 로깅 수준을 구성할 수 있습니다. 이렇게 하면 사용자 정의 오류 처리기를 코딩하는 것보다 구성하는 것이 훨씬 쉬워집니다.

 

ErrorHandler

exceptionListener (고급)

기본 JMS 예외에 대한 알림을 받을 JMS Exception Listener를 지정합니다.

 

ExceptionListener

headerFilterStrategy (advanced)

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

 

HeaderFilterStrategy

idleConsumerLimit (advanced)

특정 시간에 유휴 상태일 수 있는 소비자 수에 대한 제한을 지정합니다.

1

int

idleTaskExecutionLimit (advanced)

실행 중 메시지를 수신하지 않고 수신 대기 작업의 유휴 실행 제한을 지정합니다. 이 제한에 도달하면 작업이 종료되고 다른 실행 중인 작업(동적 스케줄링의 경우, maxConcurrentConsumers 설정을 참조하십시오). Spring에서 제공하는 추가 doc가 있습니다.

1

int

IncludeAllJMSXProperties (advanced)

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

false

boolean

jmsKeyFormatStrategy (advanced)

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

 

문자열

mapJmsMessage (advanced)

Camel이 수신된 JMS 메시지를 javax.jms.ECDHEMessage와 같은 적절한 페이로드 유형에 자동 매핑할지 여부를 String 등에 지정합니다.

true

boolean

maxMessagesPerTask (advanced)

작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자(예: min max)에 범위를 사용하는 경우 이 옵션을 사용하여 적은 작업이 필요할 때 소비자가 축소하는 속도를 제어하도록 값을 eg 100으로 설정할 수 있습니다.

-1

int

messageConverter (advanced)

사용자 지정 Spring org.springframework.jms.support.converter.Message를 사용하려면 javax.jms.Message에서 매핑하는 방법을 제어할 수 있습니다.

 

MessageConverter

messageCreatedStrategy (advanced)

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

 

MessageCreatedStrategy

messageIdEnabled (advanced)

전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 메시지 ID가 null로 설정되어야 합니다. 공급자가 힌트를 무시하면 메시지 ID를 일반 고유 값으로 설정해야 합니다.

true

boolean

messageListenerContainerknative (advanced)

메시지를 사용하는 데 사용할 org.springframework.jms.listener.AbstractMessageListenerContainer를 결정하는 데 사용되는 MessageListenerContainer의 레지스트리 ID입니다. 이렇게 설정하면 consumerType이 Custom으로 자동 설정됩니다.

 

MessageListener ContainerFactory

messageTimestampEnabled (advanced)

메시지 전송 시 기본적으로 타임 스탬프를 활성화할지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지는 타임 스탬프를 0으로 설정해야 합니다. 공급자가 힌트를 무시하면 타임스탬프를 일반 값으로 설정해야 합니다.

true

boolean

FlexVolumeSubNoLocal (advanced)

자체 연결에서 게시한 메시지 전달을 억제할지 여부를 지정합니다.

false

boolean

receiveTimeout (advanced)

메시지를 수신하는 데 필요한 시간(밀리초)입니다.

1000

long

recoveryInterval (advanced)

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

5000

long

requestTimeoutChecker Interval (advanced)

JMS를 통해 요청/응답을 수행할 때 Camel이 시간 초과된 Exchange를 확인하는 빈도를 구성합니다. 기본적으로 Camel은 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빠르게 대응해야 하는 경우 이 간격을 낮추어 더 자주 확인할 수 있습니다. 시간 제한은 옵션 요청Timeout에 따라 결정됩니다.

1000

long

동기 (고급)

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

false

boolean

transferException (advanced)

활성화된 경우 요청 응답(InOut) 및 Exchange가 소비자 측에서 실패한 경우 발생한 예외는 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception은 rethrown입니다. 이를 통해 영구 대기열을 사용하여 강력한 라우팅을 활성화하는 등 라우팅의 브리지로 Camel JMS를 사용할 수 있습니다. 또한 transferExchange가 활성화된 경우 이 옵션이 우선합니다. catch된 예외는 직렬화해야 합니다. 소비자 측의 원래 예외는 생산자에 반환되는 경우 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑될 수 있습니다.

false

boolean

TransferExchange (advanced)

본문과 헤더 대신 교환을 전송할 수 있습니다. 다음 필드는 본문, 아웃 바디, Fult body, In headers, Out headers, Fult headers, exchange properties, exchange exception입니다. 이를 위해서는 오브젝트가 직렬화할 수 있어야 합니다. Camel은 직렬화할 수 없는 오브젝트를 제외하고 WARN 수준에서 기록합니다. 생산자와 소비자 측 모두에서 이 옵션을 활성화해야 하므로 Camel은 페이로드가 교환이고 일반 페이로드가 아님을 알고 있습니다.

false

boolean

transferFault (advanced)

활성화 및 사용 중인 경우 Request Reply messaging (InOut) 및 Exchange가 소비자 측에서ECDHE 오류로 실패한 경우 org.apache.camel.Message#isFault()에 대한 fault 플래그는 JmsConstants#JMS_TRANFER_FAULT 키가 있는 JMS 헤더로 응답을 다시 보냅니다. 클라이언트가 Camel인 경우 반환된 fault 플래그가 org.apache.camel.Message#setFault(boolean)에 설정됩니다. cxf 또는 spring-ws와 같은 fault를 지원하는 Camel 구성 요소를 사용할 때 이 기능을 사용하도록 설정할 수 있습니다.

false

boolean

UseMessageIDAsCorrelation ID (advanced)

InOut 메시지에 대해 JMSMessageID를 항상 JMSCorrelationID로 사용할지 여부를 지정합니다.

false

boolean

waitForProvisionCorrelation ToBeUpdatedCounter (advanced)

JMS를 통해 요청/재ply를 수행할 때 및 옵션 useMessageIDAsCorrelationID가 활성화된 경우 프로비저닝 상관 ID가 실제 상관 관계 ID로 업데이트될 때까지 대기하는 횟수입니다.

50

int

waitForProvisionCorrelation ToBeUpdatedThreadSleeping Time (advanced)

임시 상관 관계 ID가 업데이트될 때까지 기다리는 동안 millis의 간격은 유휴 상태가 됩니다.

100

long

errorHandlerLoggingLevel (logging)

로깅 취소 예외에 대한 기본 errorHandler 로깅 수준을 구성할 수 있습니다.

WARN

LoggingLevel

errorHandlerLogStackTrace (logging)

기본 오류 처리기에 의해 stacktraces의 기록 여부를 제어할 수 있습니다.

true

boolean

암호 (보안)

ConnectionFactory와 함께 사용할 암호입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다.

 

문자열

사용자 이름 (보안)

ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다.

 

문자열

거래됨 (ECDHE)

트랜잭션 모드를 사용할지 여부를 지정합니다.

false

boolean

lazyCreateTransaction Manager (ECDHE)

true인 경우 Camel은 옵션이 transacted=true일 때 transactionManager를 삽입하지 않은 경우 JmsTransactionManager를 생성합니다.

true

boolean

TransactionManager (ECDHE)

사용할 Spring 트랜잭션 관리자입니다.

 

PlatformTransaction Manager

TransactionName (ECDHE)

사용할 트랜잭션의 이름입니다.

 

문자열

TransactionTimeout (ECDHE)

트랜잭션 모드를 사용하는 경우 트랜잭션의 시간 제한 값(초)입니다.

-1

int

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.