5.2. AMQP 옵션
대상 이름 뒤에 JMS 구성 요소의 다양한 구성 옵션을 모두 지정할 수 있습니다.
AMQP 구성 요소는 아래에 나열된 81 옵션을 지원합니다.
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
구성 (고급) | 공유 JMS 구성 사용 | JmsConfiguration | |
acceptMessagesWhile Stopping (consumer) | 소비자가 중지되는 동안 메시지를 수락하는지 여부를 지정합니다. 큐에 계속 표시되는 메시지가 있는 동안 런타임에 JMS 경로를 시작하고 중지하는 경우 이 옵션을 활성화할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지한 경우 메시지가 거부되고 JMS 브로커가 재전송을 시도해야 하며, 다시 거부될 수 있으며 결국 JMS 브로커의 dead letter 큐로 메시지를 이동할 수 있습니다. 이 옵션을 활성화하는 것이 좋습니다. | false | boolean |
allowReplyManagerQuick stop (consumer) | 응답 관리자에 대한 응답 관리자에 사용되는 DefaultMessageListenerContainer를 사용하면 JmsConfiguration#isAcceptMessagesWhileStopping이 활성화된 경우 DefaultMessageListenerContainer.runningAllowed 플래그를 빠르게 중지할 수 있으며 org.apache.camel.CamelContext가 현재 중지되고 있습니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되지만 응답 관리자를 위해 활성화하려면 이 플래그를 활성화해야 합니다. | false | boolean |
acknowledgementMode (consumer) | Integer로 정의된 JMS 승인 모드입니다. 벤더별 확장을 acknowledgment 모드로 설정할 수 있습니다. 일반 모드에서는 대신 acknowledgementModeName을 사용하는 것이 좋습니다. | int | |
eagerLoadingOf 속성 (consumer) | JMS 속성이 필요하지 않을 수 있으므로 일반적으로 비효율적인 메시지가 로드되는 즉시 JMS 속성을 신속하게 로드할 수 있지만 기본 JMS 공급자와 관련된 모든 문제를 조기에 파악할 수 있는 경우가 있습니다. | false | boolean |
acknowledgementModeName (consumer) | SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 중 하나인 JMS 승인 이름 | 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 문서 및 트랜잭션 캐시 수준을 참조하십시오. | CACHE_AUTO | 문자열 |
replyToCacheLevelName (producer) | JMS를 통해 요청/거부할 때 응답 소비자의 이름으로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 대기열(임시 아님)을 사용하는 경우에만 적용됩니다. Camel은 기본적으로 다음을 사용합니다. CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. replyToSelectorName 없이 공유되는 CACHE_SESSION. IBM Cryostat와 같은 일부 JMS 브로커는 replyToCacheLevelName=CACHE_NONE을 작동하도록 설정해야 할 수 있습니다. 참고: 임시 큐를 사용하는 경우 CACHE_NONE은 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다. | 문자열 | |
ClientID (공용) | 사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정된 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 항목 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 가상 주제를 사용하는 것을 선호할 수 있습니다. | 문자열 | |
concurrentConsumer (consumer) | JMS에서 사용할 때 동시 소비자의 기본 수를 지정합니다( JMS를 통한 요청/응답 대상 아님). 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/거부할 때 옵션 replyToConcurrentConsumers를 사용하여 응답 메시지 리스너에서 동시 소비자 수를 제어합니다. | 1 | int |
replyToConcurrent 소비자 (producer) | JMS를 통해 요청/응답을 수행할 때 동시 소비자의 기본 수를 지정합니다. 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. | 1 | int |
ConnectionFactory (공용) | 사용할 연결 팩토리입니다. 연결 팩토리를 구성 요소 또는 끝점에 구성해야 합니다. | ConnectionFactory | |
사용자 이름 (보안) | ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다. | 문자열 | |
암호 (보안) | ConnectionFactory와 함께 사용할 암호입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다. | 문자열 | |
deliveryPersistent (producer) | 영구 전달이 기본적으로 사용되는지 여부를 지정합니다. | true | boolean |
deliveryMode (producer) | 사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode로 정의된 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2. | 정수 | |
CryostatSubscriptionName (common) | topic subscriptions를 지정하는 데 사용되는 Cryostat 구독자 이름입니다. clientId 옵션도 구성해야 합니다. | 문자열 | |
exceptionListener (고급) | 기본 JMS 예외에 대해 알림을 받을 JMS Exception Listener를 지정합니다. | ExceptionListener | |
errorHandler (advanced) | Message를 처리하는 동안 발생한 예기치 않은 예외가 있는 경우 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 이러한 예외는 오류 처리기가 구성되지 않은 경우 WARN 수준에서 기록됩니다. 로깅 수준을 구성하고 errorHandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 스택 추적을 로깅해야 하는지 여부를 구성할 수 있습니다. 이렇게 하면 사용자 지정 오류 처리기를 코딩하는 것보다 훨씬 쉽게 구성할 수 있습니다. | ErrorHandler | |
errorHandlerLogging Level (logging) | 로깅 uncaught 예외에 대한 기본 errorHandler 로깅 수준을 구성할 수 있습니다. | WARN | LoggingLevel |
errorHandlerLogStack 추적 (로깅) | 기본 오류 처리기에서 stacktrace를 로깅할지 여부를 제어할 수 있습니다. | true | boolean |
explicitQosEnabled (producer) | 메시지를 전송할 때 deliveryMode, priority 또는 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 소비자 (producer) | JMS를 통해 request/reply를 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. | int | |
replyOnTimeoutToMax ConcurrentConsumers (producer) | JMS를 통해 request/reply를 사용할 때 시간 초과가 발생한 경우 계속 라우팅에 대한 동시 소비자의 최대 수를 지정합니다. | 1 | int |
maxMessagesPerTask (고급) | 작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자(예: min max)에 범위를 사용하는 경우 이 옵션을 사용하여 값이 100으로 설정하여 적은 작업이 필요할 때 소비자가 축소되는 속도를 제어할 수 있습니다. | -1 | int |
messageConverter (advanced) | 사용자 정의 Spring org.springframework.jms.support.converter.MessageConverter를 사용하면 javax.jms.Message로 매핑하거나 매핑하는 방법을 제어할 수 있습니다. | MessageConverter | |
mapJmsMessage (advanced) | Camel이 수신된 JMS 메시지를 javax.jms. CryostatMessage와 같은 적절한 페이로드 유형에 자동으로 매핑해야 하는지를 지정합니다. | true | boolean |
messageIdEnabled (advanced) | 전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. JMS 공급자가 이 힌트를 수락하는 경우 메시지 ID를 null로 설정해야 합니다. 공급자가 힌트를 무시하면 메시지 ID를 일반 고유 값으로 설정해야 합니다. | true | boolean |
messageTimestampEnabled (advanced) | 메시지 전송 시 기본적으로 타임스탬프를 활성화해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에 타임스탬프를 0으로 설정해야 합니다. 공급자가 힌트를 무시하면 타임스탬프를 일반 값으로 설정해야 합니다. | true | boolean |
alwaysCopyMessage (producer) | true인 경우 Camel은 전송을 위해 생산자에 전달될 때 항상 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우와 같이 메시지를 복사하는 것이 필요합니다(즉, Camel은 replyToDestinationSelectorName이 설정된 경우 alwaysCopyMessage 옵션을 true로 설정합니다.) | false | boolean |
useMessageIDAs CorrelationID (advanced) | JMSMessageID를 InOut 메시지의 JMSCorrelationID로 항상 사용해야 하는지 여부를 지정합니다. | false | boolean |
우선 순위 (producer) | 1보다 큰 값은 전송 시 메시지 우선 순위를 지정합니다(여기서 0은 가장 낮은 우선순위이고 9가 가장 높은 우선 순위임). 이 옵션을 적용하려면 explicitQosEnabled 옵션도 활성화해야 합니다. | 4 | int |
pubSubNoLocal (advanced) | 자체 연결에서 게시한 메시지의 전달을 억제할지 여부를 지정합니다. | false | boolean |
receiveTimeout (advanced) | 메시지를 수신하기 위한 제한 시간(밀리초)입니다. | 1000 | long |
recoveryInterval (advanced) | 복구 시도 사이의 간격(예: 연결이 새로 고쳐질 때 밀리초)을 지정합니다. 기본값은 5000 ms, 즉 5초입니다. | 5000 | long |
taskExecutor (consumer) | 메시지 사용에 대한 사용자 지정 작업 실행자를 지정할 수 있습니다. | TaskExecutor | |
deliveryDelay (producer) | JMS에 대한 send 호출에 사용할 전달 지연을 설정합니다. 이 옵션에는 JMS 2.0 호환 브로커가 필요합니다. | -1 | long |
TimeToLive (producer) | 메시지를 전송할 때 메시지의 실시간(밀리초)을 지정합니다. | -1 | long |
트랜잭션됨 ( Cryostat) | Transacted 모드를 사용할지 여부를 지정합니다. | false | boolean |
lazyCreateTransaction Manager ( Cryostat) | true인 경우 Camel은 옵션을 transacted=true할 때 주입되는 transactionManager가 없는 경우 JmsTransactionManager를 생성합니다. | true | boolean |
TransactionManager (TransactionManager) | 사용할 Spring 트랜잭션 관리자입니다. | PlatformTransaction Manager | |
TransactionName ( Cryostat) | 사용할 트랜잭션의 이름입니다. | 문자열 | |
TransactionTimeout (TransactionTimeout) | 트랜잭션 모드를 사용하는 경우 트랜잭션의 시간 초과 값(초)입니다. | -1 | int |
testConnectionOn 시작 (공용) | 시작 시 연결을 테스트할지 여부를 지정합니다. 이렇게 하면 Camel이 모든 JMS 소비자가 JMS 브로커에 대한 유효한 연결이 있는지 확인합니다. 연결을 부여할 수 없는 경우 Camel은 시작 시 예외를 throw합니다. 이렇게 하면 Camel이 실패한 연결로 시작되지 않습니다. JMS 생산자도 테스트되었습니다. | false | boolean |
asyncStartListener (고급) | 경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 연결할 수 없는 경우 다시 시도 및/또는 페일오버하는 동안 차단될 수 있습니다. 이로 인해 경로를 시작하는 동안 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에서 시간 초과 교환을 확인하는 빈도를 구성합니다. 기본적으로 Camel은 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빨리 반응해야 하는 경우 이 간격을 낮추어 더 자주 확인할 수 있습니다. 시간 초과는 requestTimeout 옵션에 의해 결정됩니다. | 1000 | long |
transferExchange (advanced) | 교환은 본문과 헤더가 아닌 유선을 통해 전송할 수 있습니다. body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. 이렇게 하려면 개체를 직렬화할 수 있어야 합니다. Camel은 직렬화되지 않은 오브젝트를 제외하고 WARN 수준에서 기록합니다. 생산자 및 소비자 측 모두에서 이 옵션을 활성화해야 하므로 Camel은 페이로드가 일반 페이로드가 아닌 교환임을 알고 있어야 합니다. | false | boolean |
transferException (advanced) | 활성화되고 요청 거부 메시징(InOut)을 사용하고 소비자 측에서 교환에 실패한 경우, 발생한 예외는 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception이 다시 검색됩니다. 이를 통해 라우팅에서 Camel JMS를 브리지로 사용할 수 있습니다. 예를 들어 영구 대기열을 사용하여 강력한 라우팅을 활성화할 수 있습니다. transferExchange도 활성화된 경우 이 옵션이 우선합니다. catch된 예외는 직렬화 가능해야 합니다. 소비자 측의 원래 예외는 생산자로 반환되면 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑될 수 있습니다. | false | boolean |
transferFault (advanced) | 활성화된 경우 요청 거부 메시징(InOut)을 사용하고 교환이 소비자 측에서 Cryostat 오류(예: 예외 아님)로 실패한 경우 Message#isFault()의 fault 플래그는 org.apache.camel.component.jms.jms.jms.JmsConstants#JMS_TRANSFER_FATFATRANSFER_FATFATRANSFER_ULTFATULTFATFA_RUTFA_TRANSFER_FAT. 클라이언트가 Camel인 경우 반환된 fault 플래그가 org.apache.camel.Message#setFault(boolean)에 설정됩니다. cxf 또는 Spring-ws와 같은 Cryostat 기반 오류를 지원하는 Camel 구성 요소를 사용할 때 이를 활성화할 수 있습니다. | false | boolean |
jmsOperations (advanced) | org.springframework.jms.core.JmsOperations 인터페이스의 자체 구현을 사용할 수 있습니다. Camel은 JmsTemplate을 기본값으로 사용합니다. 테스트 목적으로 사용할 수 있지만 Spring API 문서에 명시된 대로 많이 사용되지는 않습니다. | JmsOperations | |
destinationResolver (고급) | 자체 확인자를 사용할 수 있는 플러그형 org.springframework.jms.support.destination.DestinationResolver입니다(예: JNDI 레지스트리에서 실제 대상을 조회하는 방법). | DestinationResolver | |
replyToType (producer) | JMS를 통해 request/reply를 수행할 때 replyTo 큐에 사용할 전략 유형을 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel은 임시 큐를 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유 대기열 대신 배타적 큐를 사용할 수 있습니다. 자세한 내용은 Camel JMS 문서, 특히 클러스터형 환경에서 실행하는 경우 의미에 대한 참고 사항 및 공유 응답 대기열이 대체 시간 및 Exclusive보다 성능이 저하된다는 사실을 참조하십시오. | ReplyToType | |
preserveMessageQos (producer) | JMS 끝점의 QoS 설정 대신 메시지에 지정된 QoS 설정을 사용하여 메시지를 보내려면 true로 설정합니다. 다음 세 가지 헤더는 JMSPriority, JMSDeliveryMode 및 JMSExpiration으로 간주됩니다. 전부 또는 일부만 제공할 수 있습니다. 제공되지 않는 경우 Camel은 대신 엔드포인트의 값을 사용하도록 대체됩니다. 따라서 이 옵션을 사용할 때 헤더는 끝점의 값을 재정의합니다. 반면 explicitQosEnabled 옵션은 메시지 헤더의 값이 아닌 끝점에 설정된 옵션만 사용합니다. | false | boolean |
asyncConsumer (consumer) | JmsConsumer에서 교환을 비동기적으로 처리하는지 여부입니다. 활성화된 경우 JmsConsumer는 JMS 대기열에서 다음 메시지를 선택할 수 있지만 이전 메시지는 비동기 라우팅 엔진에 의해 비동기적으로 처리됩니다. 즉, 메시지를 순서대로 100% 엄격하게 처리할 수 없습니다. 비활성화된 경우 JmsConsumer가 JMS 대기열에서 다음 메시지를 선택하기 전에 교환이 완전히 처리됩니다. Transacted가 활성화된 경우 트랜잭션이 동기적으로 실행되어야 하므로 asyncConsumer=true가 비동기적으로 실행되지 않습니다(Camel 3.0에서 async 트랜잭션을 지원할 수 있음). | false | boolean |
allowNullBody (producer) | 본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다. | true | boolean |
includeSentJMS MessageID (producer) | InOnly를 사용하여 JMS 대상으로 전송할 때만 적용됩니다(예: 실행 및 잊어버림). 이 옵션을 활성화하면 메시지가 JMS 대상으로 전송될 때 JMS 클라이언트가 사용한 실제 JMSMessageID와 Camel 교환이 강화됩니다. | false | boolean |
모든 JMSX 속성(advanced) 포함 | JMS에서 Camel Message로 매핑할 때 모든 JMSXxxx 속성을 포함할지 여부입니다. 이 값을 true로 설정하면 JMSXAppID 및 JMSXUserID 등과 같은 속성이 포함됩니다. 참고: 사용자 정의 headerFilterStrategy를 사용하는 경우 이 옵션이 적용되지 않습니다. | false | boolean |
defaultTaskExecutor Type (consumer) | 소비자 끝점 및 생산자 끝점의 ReplyTo 소비자 모두에 대해 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync(S Spring의 SimpleAsyncTaskExecutor 사용) 또는 ThreadPool(S Spring의 ThreadPoolTaskExecutor 사용)을 최적의 값으로 사용하여 캐시된 threadpool-like. 설정하지 않으면 기본적으로 이전 동작으로, 소비자 끝점에 캐시된 스레드 풀을 사용하고 응답 소비자에 대해 SimpleAsync를 사용합니다. ThreadPool은 동시 소비자를 동적으로 늘리고 감소하여 탄력적 구성에서 스레드 휴지통을 줄이는 것이 좋습니다. | DefaultTaskExecutor Type | |
jmsKeyFormatStrategy (advanced) | JMS 키를 인코딩 및 디코딩하여 JMS 사양을 준수할 수 있도록 플러그형 전략입니다. Camel은 기본적으로 default 및 passthrough의 두 가지 구현을 제공합니다. 기본 전략은 점과 하이픈(. and -)을 안전하게 마샬링합니다. passthrough 전략에서는 키를 그대로 둡니다. 는 JMS 헤더 키에 잘못된 문자가 포함되어 있는지와 관련이 없는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. | JmsKeyFormatStrategy | |
allowAdditionalHeaders (producer) | 이 옵션은 JMS 사양에 따라 유효하지 않은 값이 있을 수 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어 WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 잘못된 유형이 있는 값을 포함하는 JMS_IBM_MQMD_ 접두사를 사용하여 헤더 이름으로 이 작업을 수행합니다. 쉼표로 구분된 여러 헤더 이름을 지정하고 와일드카드 일치에 접미사로 사용할 수 있습니다. | 문자열 | |
queueBrowseStrategy (advanced) | 대기열을 검색할 때 사용자 정의 QueueBrowseStrategy 사용 | QueueBrowseStrategy | |
messageCreatedStrategy (advanced) | Camel이 JMS 메시지를 보낼 때 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다. | MessageCreatedStrategy | |
waitForProvision CorrelationToBeUpdated Cryostat (advanced) | JMS를 통해 요청/거부를 수행할 때 및 옵션 useMessageIDAsCorrelationID가 활성화된 경우 임시 상관 관계 ID가 실제 상관 관계 ID로 업데이트될 때까지 대기하는 횟수입니다. | 50 | int |
waitForProvision CorrelationToBeUpdated ThreadSleepingTime (advanced) | 프로비저닝 상관 관계 ID가 업데이트되기를 기다리는 동안 밀리 초 단위의 간격입니다. | 100 | long |
correlationProperty (producer) | 이 JMS 속성을 사용하여 JMSCorrelationID 속성 대신 InOut 교환 패턴(request-reply)의 메시지를 상관시킵니다. 이를 통해 JMSCorrelationID JMS 속성을 사용하여 메시지의 상관 관계가 없는 시스템과 메시지를 교환할 수 있습니다. 사용된 JMSCorrelationID는 Camel에서 사용하거나 설정하지 않습니다. 여기에서 named 속성의 값은 동일한 이름의 메시지 헤더에 제공되지 않는 경우 생성됩니다. | 문자열 | |
subscriptionDurable (consumer) | 서브스크립션을 만들지 여부를 설정합니다. 사용할 Cryostat 서브스크립션 이름을 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 Cryostat 서브스크립션을 등록하려면 이 값을 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 주제(pub-sub 도메인)만 수신할 때 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. | false | boolean |
subscriptionShared (consumer) | 서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 공유 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 공유 서브스크립션도 적용할 수 있으므로 이 플래그는 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)만 수신할 때 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다. | false | boolean |
subscriptionName (consumer) | 생성할 서브스크립션의 이름을 설정합니다. 공유 또는 Cryostat 서브스크립션이 있는 주제(pub-sub 도메인)의 경우 적용됩니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. 기본값은 지정된 메시지 리스너의 클래스 이름입니다. 참고: JMS 2.0이 필요한 공유 서브스크립션을 제외하고 각 서브스크립션에 대해 1개의 동시 소비자(이 메시지 리스너 컨테이너의 기본값)만 허용됩니다. | 문자열 | |
streamMessageType Enabled (producer) | StreamMessage 유형이 활성화되어 있는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 유형의 메시지 페이로드는 CryostatsMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 유형을 제어합니다. 기본적으로 CryostatsMessage는 전체 메시지 페이로드를 메모리로 읽어오는 데 사용됩니다. 이 옵션을 활성화하면 메시지 페이로드가 청크에서 메모리로 읽혀지고 각 청크는 더 이상 데이터가 없을 때까지 StreamMessage에 기록됩니다. | false | boolean |
formatDateHeadersTo Iso8601 (producer) | ISO 8601 표준에 따라 날짜 헤더를 포맷해야 하는지 여부를 설정합니다. | false | boolean |
headerFilterStrategy (filter) | 사용자 정의 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로의 헤더를 필터링합니다. | HeaderFilterStrategy | |
resolveProperty Placeholders (advanced) | 구성 요소 시작 시 속성 자리 표시자를 자체적으로 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다. | true | boolean |
AMQP 끝점은 URI 구문을 사용하여 구성됩니다.
amqp:destinationType:destinationName
다음 경로 및 쿼리 매개변수를 사용합니다.
5.2.1. 경로 매개변수 (2 매개변수):
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
destinationType | 사용할 대상의 종류 | 대기열 | 문자열 |
destinationName | required 대상으로 사용할 큐 또는 항목의 이름 | 문자열 |
5.2.2. 쿼리 매개변수(92 매개변수):
이름 | 설명 | 기본 | 유형 |
---|---|---|---|
ClientID (공용) | 사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정된 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 항목 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 가상 주제를 사용하는 것을 선호할 수 있습니다. | 문자열 | |
ConnectionFactory (공용) | 사용할 연결 팩토리입니다. 연결 팩토리를 구성 요소 또는 끝점에 구성해야 합니다. | ConnectionFactory | |
disableReplyTo (common) | Camel이 메시지의 JMSReplyTo 헤더를 무시하는지 여부를 지정합니다. true인 경우 Camel은 JMSReplyTo 헤더에 지정된 대상으로 응답을 다시 보내지 않습니다. Camel을 경로에서 사용하려는 경우 이 옵션을 사용할 수 있으며 코드의 다른 구성 요소에서 응답 메시지를 처리하므로 Camel에서 자동으로 응답 메시지를 보내지 않도록 할 수 있습니다. 또한 다른 메시지 브로커 간에 Camel을 프록시로 사용하고 한 시스템에서 다른 시스템으로 메시지를 라우팅하려는 경우에도 이 옵션을 사용할 수 있습니다. | false | boolean |
CryostatSubscriptionName (common) | topic subscriptions를 지정하는 데 사용되는 Cryostat 구독자 이름입니다. clientId 옵션도 구성해야 합니다. | 문자열 | |
jmsMessageType (공용) | JMS 메시지를 전송하기 위해 특정 javax.jms.Message 구현을 강제로 사용할 수 있습니다. 가능한 값은 다음과 같습니다: Cryostats, Map, Object, Stream, text. 기본적으로 Camel은 In 본문 유형에서 사용할 JMS 메시지 유형을 결정합니다. 이 옵션을 사용하면 지정할 수 있습니다. | JmsMessageType | |
testConnectionOnStartup (common) | 시작 시 연결을 테스트할지 여부를 지정합니다. 이렇게 하면 Camel이 모든 JMS 소비자가 JMS 브로커에 대한 유효한 연결이 있는지 확인합니다. 연결을 부여할 수 없는 경우 Camel은 시작 시 예외를 throw합니다. 이렇게 하면 Camel이 실패한 연결로 시작되지 않습니다. JMS 생산자도 테스트되었습니다. | false | boolean |
acknowledgementModeName (consumer) | SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 중 하나인 JMS 승인 이름 | AUTO_ ACKNOWLEDGE | 문자열 |
asyncConsumer (consumer) | JmsConsumer에서 교환을 비동기적으로 처리하는지 여부입니다. 활성화된 경우 JmsConsumer는 JMS 대기열에서 다음 메시지를 선택할 수 있지만 이전 메시지는 비동기 라우팅 엔진에 의해 비동기적으로 처리됩니다. 즉, 메시지를 순서대로 100% 엄격하게 처리할 수 없습니다. 비활성화된 경우 JmsConsumer가 JMS 대기열에서 다음 메시지를 선택하기 전에 교환이 완전히 처리됩니다. Transacted가 활성화된 경우 트랜잭션이 동기적으로 실행되어야 하므로 asyncConsumer=true가 비동기적으로 실행되지 않습니다(Camel 3.0에서 async 트랜잭션을 지원할 수 있음). | false | boolean |
autoStartup (consumer) | 소비자 컨테이너가 자동으로 시작되어야 하는지 여부를 지정합니다. | true | boolean |
bridgeErrorHandler (consumer) | Camel 라우팅 오류 처리기에 소비자를 브리징할 수 있습니다. 즉, 소비자가 들어오는 메시지를 선택하려고 하는 동안 발생한 모든 예외가 이제 메시지로 처리되고 라우팅 오류 처리기에서 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 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 문서 및 트랜잭션 캐시 수준을 참조하십시오. | CACHE_AUTO | 문자열 |
concurrentConsumer (consumer) | JMS에서 사용할 때 동시 소비자의 기본 수를 지정합니다( JMS를 통한 요청/응답 대상 아님). 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/거부할 때 옵션 replyToConcurrentConsumers를 사용하여 응답 메시지 리스너에서 동시 소비자 수를 제어합니다. | 1 | int |
maxConcurrentConsumers (consumer) | JMS에서 사용할 때 동시 소비자의 최대 수를 지정합니다( JMS를 통한 요청/응답 대상 아님). 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/거부할 때 옵션 replyToMaxConcurrentConsumers를 사용하여 응답 메시지 리스너에서 동시 소비자 수를 제어합니다. | int | |
replyTo (consumer) | Message.getJMSReplyTo()의 들어오는 값을 재정의하는 명시적 ReplyTo 대상을 제공합니다. | 문자열 | |
replyToDeliveryPersistent (consumer) | 응답에 기본적으로 영구 전달을 사용할지 여부를 지정합니다. | true | boolean |
선택기 (consumer) | 사용할 JMS 선택기를 설정합니다. | 문자열 | |
subscriptionDurable (consumer) | 서브스크립션을 만들지 여부를 설정합니다. 사용할 Cryostat 서브스크립션 이름을 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 Cryostat 서브스크립션을 등록하려면 이 값을 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 주제(pub-sub 도메인)만 수신할 때 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. | false | boolean |
subscriptionName (consumer) | 생성할 서브스크립션의 이름을 설정합니다. 공유 또는 Cryostat 서브스크립션이 있는 주제(pub-sub 도메인)의 경우 적용됩니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. 기본값은 지정된 메시지 리스너의 클래스 이름입니다. 참고: JMS 2.0이 필요한 공유 서브스크립션을 제외하고 각 서브스크립션에 대해 1개의 동시 소비자(이 메시지 리스너 컨테이너의 기본값)만 허용됩니다. | 문자열 | |
subscriptionShared (consumer) | 서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 subscriptionName 값과 함께 공유 서브스크립션을 등록하려면 true로 설정합니다(메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않은 경우). 공유 서브스크립션도 적용할 수 있으므로 이 플래그는 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)만 수신할 때 의미가 있으므로 이 방법은 pubSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다. | false | boolean |
acceptMessagesWhileStopping (consumer) | 소비자가 중지되는 동안 메시지를 수락하는지 여부를 지정합니다. 큐에 계속 표시되는 메시지가 있는 동안 런타임에 JMS 경로를 시작하고 중지하는 경우 이 옵션을 활성화할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지한 경우 메시지가 거부되고 JMS 브로커가 재전송을 시도해야 하며, 다시 거부될 수 있으며 결국 JMS 브로커의 dead letter 큐로 메시지를 이동할 수 있습니다. 이 옵션을 활성화하는 것이 좋습니다. | false | boolean |
allowReplyManagerQuickStop (consumer) | 응답 관리자에 대한 응답 관리자에 사용되는 DefaultMessageListenerContainer를 사용하면 JmsConfiguration#isAcceptMessagesWhileStopping이 활성화된 경우 DefaultMessageListenerContainer.runningAllowed 플래그를 빠르게 중지할 수 있으며 org.apache.camel.CamelContext가 현재 중지되고 있습니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되지만 응답 관리자를 위해 활성화하려면 이 플래그를 활성화해야 합니다. | false | boolean |
consumerType (consumer) | 사용할 소비자 유형(Simple, Default 또는 Custom) 중 하나일 수 있습니다. 소비자 유형에 따라 사용할 Spring JMS 리스너가 결정됩니다. Default는 org.springframework.jms.listener.DefaultMessageListenerContainer를 사용합니다. Simple는 org.springframework.jms.listener.SimpleMessageListenerContainer를 사용합니다. Custom이 지정되면 messageListenerContainerFactory 옵션에 정의된 MessageListenerContainerFactory에서 사용할 org.springframework.jms.listener.AbstractMessageListenerContainer를 결정합니다. | 기본 | ConsumerType |
defaultTaskExecutorType (consumer) | 소비자 끝점 및 생산자 끝점의 ReplyTo 소비자 모두에 대해 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync(S Spring의 SimpleAsyncTaskExecutor 사용) 또는 ThreadPool(S Spring의 ThreadPoolTaskExecutor 사용)을 최적의 값으로 사용하여 캐시된 threadpool-like. 설정하지 않으면 기본적으로 이전 동작으로, 소비자 끝점에 캐시된 스레드 풀을 사용하고 응답 소비자에 대해 SimpleAsync를 사용합니다. ThreadPool은 동시 소비자를 동적으로 늘리고 감소하여 탄력적 구성에서 스레드 휴지통을 줄이는 것이 좋습니다. | DefaultTaskExecutor Type | |
eagerLoadingOfProperties (consumer) | JMS 속성이 필요하지 않을 수 있으므로 일반적으로 비효율적인 메시지가 로드되는 즉시 JMS 속성 및 페이로드를 신속하게 로드할 수 있지만 기본 JMS 공급자와 관련된 문제를 조기에 파악할 수 있는 경우가 있습니다. | false | boolean |
exceptionHandler (consumer) | 사용자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있으면 이 옵션이 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시됩니다. | ExceptionHandler | |
exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
exposeListenerSession (consumer) | 메시지를 사용할 때 리스너 세션을 노출해야 하는지 여부를 지정합니다. | false | boolean |
replyToSameDestination 허용 (consumer) | JMS 소비자가 소비자가 사용하는 것과 동일한 대상에 응답 메시지를 보낼 수 있는지 여부입니다. 이렇게 하면 동일한 메시지를 자체 소비하고 다시 전송하여 무한 루프를 방지할 수 있습니다. | false | boolean |
taskExecutor (consumer) | 메시지 사용에 대한 사용자 지정 작업 실행자를 지정할 수 있습니다. | TaskExecutor | |
deliveryDelay (producer) | JMS에 대한 send 호출에 사용할 전달 지연을 설정합니다. 이 옵션에는 JMS 2.0 호환 브로커가 필요합니다. | -1 | long |
deliveryMode (producer) | 사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode로 정의된 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2. | 정수 | |
deliveryPersistent (producer) | 영구 전달이 기본적으로 사용되는지 여부를 지정합니다. | true | boolean |
explicitQosEnabled (producer) | 메시지를 전송할 때 deliveryMode, priority 또는 timeToLive의 서비스를 사용해야 하는지 설정합니다. 이 옵션은 Spring의 JmsTemplate을 기반으로 합니다. deliveryMode, priority 및 timeToLive 옵션은 현재 끝점에 적용됩니다. 이는 메시지 단위로 작동하는 preserveMessageQos 옵션과 대조하여 Camel In 메시지 헤더에서만 QoS 속성을 읽습니다. | false | 부울 |
formatDateHeadersToIso8601 (producer) | ISO 8601 표준에 따라 JMS 날짜 속성을 포맷해야 하는지 여부를 설정합니다. | 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 소비자 (producer) | JMS를 통해 request/reply를 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하는 maxMessagesPerTask 옵션도 참조하십시오. | int | |
replyToOnTimeoutMax ConcurrentConsumers (producer) | JMS를 통해 request/reply를 사용할 때 시간 초과가 발생한 경우 계속 라우팅에 대한 동시 소비자의 최대 수를 지정합니다. | 1 | int |
replyToOverride (producer) | replyTo 설정을 재정의하는 JMS 메시지의 명시적 ReplyTo 대상을 제공합니다. 메시지를 원격 큐로 전달하고 ReplyTo 대상에서 응답 메시지를 수신하려는 경우 유용합니다. | 문자열 | |
replyToType (producer) | JMS를 통해 request/reply를 수행할 때 replyTo 큐에 사용할 전략 유형을 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel은 임시 큐를 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유 대기열 대신 배타적 큐를 사용할 수 있습니다. 자세한 내용은 Camel JMS 문서, 특히 클러스터형 환경에서 실행하는 경우 의미에 대한 참고 사항 및 공유 응답 대기열이 대체 시간 및 Exclusive보다 성능이 저하된다는 사실을 참조하십시오. | ReplyToType | |
requestTimeout (producer) | InOut Exchange Pattern (밀리초)을 사용할 때 응답을 기다리는 시간 시간입니다. 기본값은 20초입니다. CamelJmsRequestTimeout 헤더를 포함하여 이 끝점이 구성된 시간 초과 값을 재정의하여 메시지 개별 시간 초과 값을 가질 수 있습니다. requestTimeoutCheckerInterval 옵션도 참조하십시오. | 20000 | long |
TimeToLive (producer) | 메시지를 전송할 때 메시지의 실시간(밀리초)을 지정합니다. | -1 | long |
allowAdditionalHeaders (producer) | 이 옵션은 JMS 사양에 따라 유효하지 않은 값이 있을 수 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어 WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 잘못된 유형이 있는 값을 포함하는 JMS_IBM_MQMD_ 접두사를 사용하여 헤더 이름으로 이 작업을 수행합니다. 쉼표로 구분된 여러 헤더 이름을 지정하고 와일드카드 일치에 접미사로 사용할 수 있습니다. | 문자열 | |
allowNullBody (producer) | 본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다. | true | boolean |
alwaysCopyMessage (producer) | true인 경우 Camel은 전송을 위해 생산자에 전달될 때 항상 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우와 같이 메시지를 복사하는 것이 필요합니다(즉, Camel은 replyToDestinationSelectorName이 설정된 경우 alwaysCopyMessage 옵션을 true로 설정합니다.) | false | boolean |
correlationProperty (producer) | InOut 교환 패턴을 사용하는 경우 JMSCorrelationID JMS 속성 대신 이 JMS 속성을 사용하여 메시지의 상관 관계를 설정합니다. 설정된 메시지가 이 속성의 JMSCorrelationID 속성 값에만 관련이 있는 경우 Camel에 의해 설정되지 않습니다. | 문자열 | |
disableTimeToLive (producer) | 이 옵션을 사용하여 활성화 시간을 강제로 비활성화합니다. 예를 들어 JMS를 통해 요청/거부하는 경우 Camel은 기본적으로 requestTimeout 값을 전송되는 메시지에 라이브로 사용합니다. 문제는 발신자와 수신자 시스템에 클럭이 동기화되어 동기화되어 있어야 한다는 것입니다. 압축하기가 항상 쉽지는 않습니다. 따라서 disableTimeToLive=true를 사용하여 전송된 메시지의 라이브 값을 설정하지 않도록 할 수 있습니다. 그러면 수신자 시스템에서 메시지가 만료되지 않습니다. 자세한 내용은 아래 섹션의 라이브 시간 정보를 참조하십시오. | false | boolean |
forceSendOriginalMessage (producer) | mapJmsMessage=false Camel을 사용하는 경우 경로 중 헤더(get 또는 set)를 터치하면 새 JMS 대상으로 보낼 새 JMS 메시지가 생성됩니다. Camel이 수신한 원래 JMS 메시지를 전송하도록 하려면 이 옵션을 true로 설정합니다. | false | boolean |
includeSentJMSMessageID (producer) | InOnly를 사용하여 JMS 대상으로 전송할 때만 적용됩니다(예: 실행 및 잊어버림). 이 옵션을 활성화하면 메시지가 JMS 대상으로 전송될 때 JMS 클라이언트가 사용한 실제 JMSMessageID와 Camel 교환이 강화됩니다. | false | boolean |
replyToCacheLevelName (producer) | JMS를 통해 요청/거부할 때 응답 소비자의 이름으로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 대기열(임시 아님)을 사용하는 경우에만 적용됩니다. Camel은 기본적으로 다음을 사용합니다. CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. replyToSelectorName 없이 공유되는 CACHE_SESSION. IBM Cryostat와 같은 일부 JMS 브로커는 replyToCacheLevelName=CACHE_NONE을 작동하도록 설정해야 할 수 있습니다. 참고: 임시 큐를 사용하는 경우 CACHE_NONE은 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다. | 문자열 | |
replyToDestinationSelector 이름 (producer) | 공유 대기열을 사용할 때 다른 사용자의 응답을 필터링할 수 있도록 사용할 고정 이름을 사용하여 JMS Selector를 설정합니다(즉, 임시 응답 큐를 사용하지 않는 경우). | 문자열 | |
streamMessageTypeEnabled (producer) | StreamMessage 유형이 활성화되어 있는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 유형의 메시지 페이로드는 CryostatsMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 유형을 제어합니다. 기본적으로 CryostatsMessage는 전체 메시지 페이로드를 메모리로 읽어오는 데 사용됩니다. 이 옵션을 활성화하면 메시지 페이로드가 청크에서 메모리로 읽혀지고 각 청크는 더 이상 데이터가 없을 때까지 StreamMessage에 기록됩니다. | false | boolean |
allowSerializedHeaders (advanced) | 직렬화된 헤더를 포함할지 여부를 제어합니다. TransferExchange가 true인 경우에만 적용됩니다. 이렇게 하려면 개체를 직렬화할 수 있어야 합니다. Camel은 직렬화되지 않은 오브젝트를 제외하고 WARN 수준에서 기록합니다. | false | boolean |
asyncStartListener (고급) | 경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 연결할 수 없는 경우 다시 시도 및/또는 페일오버하는 동안 차단될 수 있습니다. 이로 인해 경로를 시작하는 동안 Camel이 차단됩니다. 이 옵션을 true로 설정하면 JmsConsumer가 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결하는 동안 시작 경로를 라우팅하도록 합니다. 이 옵션을 사용하는 경우 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자가 메시지를 수신할 수 없습니다. 그런 다음 경로를 다시 시작하여 다시 시작할 수 있습니다. | false | boolean |
asyncStopListener (advanced) | 경로를 중지할 때 JmsConsumer 메시지 리스너를 비동기식으로 중지할지 여부입니다. | false | boolean |
destinationResolver (고급) | 자체 확인자를 사용할 수 있는 플러그형 org.springframework.jms.support.destination.DestinationResolver입니다(예: JNDI 레지스트리에서 실제 대상을 조회하는 방법). | DestinationResolver | |
errorHandler (advanced) | Message를 처리하는 동안 발생한 예기치 않은 예외가 있는 경우 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 이러한 예외는 오류 처리기가 구성되지 않은 경우 WARN 수준에서 기록됩니다. 로깅 수준을 구성하고 errorHandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 스택 추적을 로깅해야 하는지 여부를 구성할 수 있습니다. 이렇게 하면 사용자 지정 오류 처리기를 코딩하는 것보다 훨씬 쉽게 구성할 수 있습니다. | ErrorHandler | |
exceptionListener (고급) | 기본 JMS 예외에 대해 알림을 받을 JMS Exception Listener를 지정합니다. | ExceptionListener | |
headerFilterStrategy (advanced) | 사용자 정의 HeaderFilterStrategy를 사용하여 Camel 메시지로의 헤더를 필터링하려면 다음을 수행합니다. | HeaderFilterStrategy | |
idleConsumerLimit (advanced) | 지정된 시간에 유휴 상태로 설정할 수 있는 소비자 수에 대한 제한을 지정합니다. | 1 | int |
idleTaskExecutionLimit (advanced) | 수신 작업의 유휴 실행 제한을 지정하고 실행 중 메시지를 받지 않음을 지정합니다. 이 제한에 도달하면 작업이 종료되고 다른 실행 중인 작업에 수신을 남겨 둡니다(동적 스케줄링의 경우 maxConcurrentConsumers 설정 참조). Spring에서 추가 doc를 사용할 수 있습니다. | 1 | int |
모든 JMSXProperties(advanced) 포함 | JMS에서 Camel Message로 매핑할 때 모든 JMSXxxx 속성을 포함할지 여부입니다. 이 값을 true로 설정하면 JMSXAppID 및 JMSXUserID 등과 같은 속성이 포함됩니다. 참고: 사용자 정의 headerFilterStrategy를 사용하는 경우 이 옵션이 적용되지 않습니다. | false | boolean |
jmsKeyFormatStrategy (advanced) | JMS 키를 인코딩 및 디코딩하여 JMS 사양을 준수할 수 있도록 플러그형 전략입니다. Camel은 기본적으로 default 및 passthrough의 두 가지 구현을 제공합니다. 기본 전략은 점과 하이픈(. and -)을 안전하게 마샬링합니다. passthrough 전략에서는 키를 그대로 둡니다. 는 JMS 헤더 키에 잘못된 문자가 포함되어 있는지와 관련이 없는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. | 문자열 | |
mapJmsMessage (advanced) | Camel이 수신된 JMS 메시지를 javax.jms. CryostatMessage와 같은 적절한 페이로드 유형에 자동으로 매핑해야 하는지를 지정합니다. | true | boolean |
maxMessagesPerTask (고급) | 작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자(예: min max)에 범위를 사용하는 경우 이 옵션을 사용하여 값이 100으로 설정하여 적은 작업이 필요할 때 소비자가 축소되는 속도를 제어할 수 있습니다. | -1 | int |
messageConverter (advanced) | 사용자 정의 Spring org.springframework.jms.support.converter.MessageConverter를 사용하면 javax.jms.Message로 매핑하거나 매핑하는 방법을 제어할 수 있습니다. | MessageConverter | |
messageCreatedStrategy (advanced) | Camel이 JMS 메시지를 보낼 때 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다. | MessageCreatedStrategy | |
messageIdEnabled (advanced) | 전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. JMS 공급자가 이 힌트를 수락하는 경우 메시지 ID를 null로 설정해야 합니다. 공급자가 힌트를 무시하면 메시지 ID를 일반 고유 값으로 설정해야 합니다. | true | boolean |
messageListenerContainer factory (advanced) | 메시지를 사용하는 데 사용할 org.springframework.jms.listener.AbstractMessageListenerContainer를 결정하는 데 사용되는 MessageListenerContainer의 레지스트리 ID입니다. 이 설정을 설정하면 consumerType이 자동으로 Custom으로 설정됩니다. | MessageListener ContainerFactory | |
messageTimestampEnabled (advanced) | 메시지 전송 시 기본적으로 타임스탬프를 활성화해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에 타임스탬프를 0으로 설정해야 합니다. 공급자가 힌트를 무시하면 타임스탬프를 일반 값으로 설정해야 합니다. | true | boolean |
pubSubNoLocal (advanced) | 자체 연결에서 게시한 메시지의 전달을 억제할지 여부를 지정합니다. | false | boolean |
receiveTimeout (advanced) | 메시지를 수신하기 위한 제한 시간(밀리초)입니다. | 1000 | long |
recoveryInterval (advanced) | 복구 시도 사이의 간격(예: 연결이 새로 고쳐질 때 밀리초)을 지정합니다. 기본값은 5000 ms, 즉 5초입니다. | 5000 | long |
requestTimeoutChecker Interval (advanced) | JMS를 통해 요청/응답을 수행할 때 Camel에서 시간 초과 교환을 확인하는 빈도를 구성합니다. 기본적으로 Camel은 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빨리 반응해야 하는 경우 이 간격을 낮추어 더 자주 확인할 수 있습니다. 시간 초과는 requestTimeout 옵션에 의해 결정됩니다. | 1000 | long |
동기 (고급) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | false | boolean |
transferException (advanced) | 활성화되고 요청 거부 메시징(InOut)을 사용하고 소비자 측에서 교환에 실패한 경우, 발생한 예외는 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception이 다시 검색됩니다. 이를 통해 라우팅에서 Camel JMS를 브리지로 사용할 수 있습니다. 예를 들어 영구 대기열을 사용하여 강력한 라우팅을 활성화할 수 있습니다. transferExchange도 활성화된 경우 이 옵션이 우선합니다. catch된 예외는 직렬화 가능해야 합니다. 소비자 측의 원래 예외는 생산자로 반환되면 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑될 수 있습니다. | false | boolean |
transferExchange (advanced) | 교환은 본문과 헤더가 아닌 유선을 통해 전송할 수 있습니다. body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. 이렇게 하려면 개체를 직렬화할 수 있어야 합니다. Camel은 직렬화되지 않은 오브젝트를 제외하고 WARN 수준에서 기록합니다. 생산자 및 소비자 측 모두에서 이 옵션을 활성화해야 하므로 Camel은 페이로드가 일반 페이로드가 아닌 교환임을 알고 있어야 합니다. | false | boolean |
transferFault (advanced) | 활성화된 경우 요청 거부 메시징(InOut)을 사용하고 교환이 소비자 측에서 Cryostat 오류(예: 예외 아님)로 실패한 경우 Message#isFault()의 fault 플래그는 org.apache.camel.component.jms.jms.jms.JmsConstants#JMS_TRANSFER_FATFATRANSFER_FATFATRANSFER_ULTFATULTFATFA_RUTFA_TRANSFER_FAT. 클라이언트가 Camel인 경우 반환된 fault 플래그가 org.apache.camel.Message#setFault(boolean)에 설정됩니다. cxf 또는 Spring-ws와 같은 Cryostat 기반 오류를 지원하는 Camel 구성 요소를 사용할 때 이를 활성화할 수 있습니다. | false | boolean |
useMessageIDAsCorrelation ID (advanced) | JMSMessageID를 InOut 메시지의 JMSCorrelationID로 항상 사용해야 하는지 여부를 지정합니다. | false | boolean |
waitForProvisionCorrelation ToBeUpdatedCounter (advanced) | JMS를 통해 요청/거부를 수행할 때 및 옵션 useMessageIDAsCorrelationID가 활성화된 경우 임시 상관 관계 ID가 실제 상관 관계 ID로 업데이트될 때까지 대기하는 횟수입니다. | 50 | int |
waitForProvisionCorrelation ToBeUpdatedThreadSleeping Time (advanced) | 프로비저닝 상관 관계 ID가 업데이트되기를 기다리는 동안 밀리 초 단위의 간격입니다. | 100 | long |
errorHandlerLoggingLevel (logging) | 로깅 uncaught 예외에 대한 기본 errorHandler 로깅 수준을 구성할 수 있습니다. | WARN | LoggingLevel |
errorHandlerLogStackTrace (logging) | 기본 오류 처리기에서 stacktrace를 로깅할지 여부를 제어할 수 있습니다. | true | boolean |
암호 (보안) | ConnectionFactory와 함께 사용할 암호입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다. | 문자열 | |
사용자 이름 (보안) | ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다. | 문자열 | |
트랜잭션됨 ( Cryostat) | Transacted 모드를 사용할지 여부를 지정합니다. | false | boolean |
lazyCreateTransaction Manager ( Cryostat) | true인 경우 Camel은 옵션을 transacted=true할 때 주입되는 transactionManager가 없는 경우 JmsTransactionManager를 생성합니다. | true | boolean |
TransactionManager (TransactionManager) | 사용할 Spring 트랜잭션 관리자입니다. | PlatformTransaction Manager | |
TransactionName ( Cryostat) | 사용할 트랜잭션의 이름입니다. | 문자열 | |
TransactionTimeout (TransactionTimeout) | 트랜잭션 모드를 사용하는 경우 트랜잭션의 시간 초과 값(초)입니다. | -1 | int |