26.21. Spring Boot Auto-Configuration
Spring Boot와 함께 jms를 사용하는 경우 다음과 같은 Maven 종속성을 사용하여 자동 구성을 지원해야 합니다.
구성 요소는 아래에 나열된 99 옵션을 지원합니다.
이름 | 설명 | Default | 유형 |
---|---|---|---|
camel.component.jms.accept-messages-while-stopping | 중지하는 동안 소비자가 메시지를 수락하는지 여부를 지정합니다. 큐에 있는 메시지가 여전히 있는 동안 런타임에 JMS 경로를 시작하고 중지하는 경우 이 옵션을 활성화하는 것을 고려할 수 있습니다. 이 옵션이 false이고 JMS 경로를 중지하면 메시지가 거부될 수 있으며 JMS 브로커는 다시 거부될 수 있으며, 결국 메시지가 JMS 브로커에서 dead letter queue로 이동될 수 있습니다. 이 옵션을 사용하지 않도록 설정하는 것이 좋습니다. | false | 부울 |
camel.component.jms.acknowledgement-mode-name | SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 중 하나인 JMS 승인 이름. | AUTO_ACKNOWLEDGE | 문자열 |
camel.component.jms.allow-additional-headers | 이 옵션은 JMS 사양에 따라 유효하지 않은 값을 가질 수 있는 추가 헤더를 허용하는 데 사용됩니다. 예를 들어 WMQ와 같은 일부 메시지 시스템은 바이트 배열 또는 기타 유효하지 않은 유형이 있는 값이 포함된 JMS_IBM_MQECDHE_ 접두사를 사용하여 헤더 이름으로 이 작업을 수행합니다. 쉼표로 구분된 여러 헤더 이름을 지정하고 와일드카드 일치의 경우 접미사로 사용할 수 있습니다. | 문자열 | |
camel.component.jms.allow-auto-wired-connection-factory | 연결 팩토리가 구성되지 않은 경우 레지스트리에서 ConnectionFactory를 자동 검색할지 여부입니다. 하나의 ConnectionFactory 인스턴스만 발견되면 사용됩니다. 이는 기본적으로 활성화되어 있습니다. | true | 부울 |
camel.component.jms.allow-auto-wired-destination-resolver | 대상 해결 프로그램이 구성되지 않은 경우 레지스트리에서 DestinationResolver를 자동 검색할지 여부입니다. DestinationResolver 인스턴스가 하나만 발견되면 사용됩니다. 이는 기본적으로 활성화되어 있습니다. | true | 부울 |
camel.component.jms.allow-null-body | 본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다. | true | 부울 |
camel.component.jms.allow-reply-manager-quick-stop | request-reply 메시징에 대해 응답 관리자에 사용되는 DefaultMessageListenerContainer.runningAllowed 플래그를 사용하면 JmsConfiguration#isAcceptMessagesWhileStopping이 활성화되고 org.apache.camel.CamelContext가 중지되는 경우 DefaultMessageListenerContainer.runningAllowed 플래그를 빠르게 중지할 수 있습니다. 이 빠른 중지 기능은 일반 JMS 소비자에서 기본적으로 활성화되어 있지만 응답 관리자를 활성화하려면 이 플래그를 활성화해야 합니다. | false | 부울 |
camel.component.jms.allow-serialized-headers | 직렬화된 헤더를 포함할지 여부를 제어합니다. transferExchange가 true인 경우에만 적용됩니다. 이를 위해 오브젝트를 직렬화할 수 있어야 합니다. Camel은 비합리화 가능한 오브젝트를 제외하고 WARN 수준에서 기록합니다. | false | 부울 |
camel.component.jms.always-copy-message | true인 경우 Camel은 전송을 위해 생산자로 전달할 때 항상 메시지의 JMS 메시지 사본을 만듭니다. replyToDestinationSelectorName이 설정된 경우와 같이 메시지를 복사하는 것이 필요합니다(예: replyToDestinationSelectorName이 설정된 경우 Camel은 alwaysCopyMessage 옵션을 true로 설정합니다). | false | 부울 |
camel.component.jms.artemis-consumer-priority | 소비자 우선 순위를 사용하면 높은 우선 순위의 소비자가 활성화된 동안 메시지를 수신하는지 확인할 수 있습니다. 일반적으로 큐에 연결된 활성 소비자는 라운드 로빈 방식으로 메시지를 수신합니다. 소비자 우선순위가 사용 중인 경우 여러 활성 사용자가 동일한 높은 우선 순위로 있는 경우 메시지가 라운드 로빈으로 전달됩니다. 높은 우선 순위의 소비자가 메시지를 사용하는 데 사용할 수 없는 경우 또는 높은 우선 순위의 소비자가 메시지를 수락하지 않은 경우(예: 소비자와 연결된 모든 선택기의 기준을 충족하지 않기 때문에 메시지는 우선 순위가 낮은 소비자만 사용하게 됩니다). | 정수 | |
camel.component.jms.artemis-streaming-enabled | Apache Artemis 스트리밍 모드를 최적화할지 여부입니다. 이렇게 하면 Artemis를 JMS StreamMessage 유형과 함께 사용할 때 메모리 오버헤드가 줄어들 수 있습니다. 이 옵션은 Apache Artemis를 사용하는 경우에만 활성화해야 합니다. | false | 부울 |
camel.component.jms.async-consumer | JmsConsumer에서 교환을 비동기식으로 처리할지 여부입니다. 활성화하면 JmsConsumer가 JMS 대기열에서 다음 메시지를 선택할 수 있지만 이전 메시지는 비동기 라우팅 엔진에서 비동기적으로 처리됩니다. 즉, 메시지가 100% 엄격하게 처리되지 않을 수 있습니다. 비활성화 된 경우 (기본적으로) 교환은 JmsConsumer가 JMS 큐에서 다음 메시지를 선택하기 전에 완전히 처리됩니다. 트랜잭션이 활성화된 경우 트랜잭션을 동시에 실행해야 하므로 비동기식으로 asyncConsumer=true가 실행되지 않습니다(Camel 3.0에서 비동기 트랜잭션을 지원할 수 있음). | false | 부울 |
camel.component.jms.async-start-listener | 경로를 시작할 때 JmsConsumer 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 대한 연결을 가져올 수 없는 경우 재시도 및/또는 장애 조치 동안 차단될 수 있습니다. 이로 인해 Camel이 경로를 시작하는 동안 차단됩니다. 이 옵션을 true로 설정하면 시작 라우팅이 허용되고 JmsConsumer는 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결합니다. 이 옵션을 사용하는 경우 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자는 메시지를 수신할 수 없습니다. 그런 다음 다시 시도하도록 경로를 다시 시작할 수 있습니다. | false | 부울 |
camel.component.jms.async-stop-listener | 경로를 중지할 때 JmsConsumer 메시지 리스너를 비동기식으로 중지할지 여부입니다. | false | 부울 |
camel.component.jms.auto-startup | 소비자 컨테이너가 자동으로 시작되어야 하는지 여부를 지정합니다. | true | 부울 |
camel.component.jms.autowired-enabled | autowiring이 활성화되었는지 여부 이 옵션은 일치하는 유형의 단일 인스턴스가 있는지 확인한 다음 구성 요소에 구성됩니다. 이는 JDBC 데이터 소스, JMS 연결 팩토리, AWS 클라이언트 등을 자동으로 구성하는 데 사용할 수 있습니다. | true | 부울 |
camel.component.jms.cache-level | 기본 JMS 리소스의 ID로 캐시 수준을 설정합니다. 자세한 내용은 cacheLevelName 옵션을 참조하십시오. | 정수 | |
camel.component.jms.cache-level-name | 기본 JMS 리소스에 대한 이름별로 캐시 수준을 설정합니다. 가능한 값은 CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE 및 CACHE_SESSION입니다. 기본 설정은 CACHE_AUTO입니다. 자세한 내용은 Spring 문서 및 트랜잭션 캐시 수준을 참조하십시오. | CACHE_AUTO | 문자열 |
camel.component.jms.client-id | 사용할 JMS 클라이언트 ID를 설정합니다. 이 값은 지정하는 경우 고유해야 하며 단일 JMS 연결 인스턴스에서만 사용할 수 있습니다. 일반적으로 지속성 주제 서브스크립션에만 필요합니다. Apache ActiveMQ를 사용하는 경우 대신 Virtual Topics를 사용할 수 있습니다. | 문자열 | |
camel.component.jms.concurrent-consumers | JMS에서 사용할 때 기본 동시 소비자 수를 지정합니다( JMS를 통해 요청/응답이 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답을 수행할 때 replyToConcurrentConsumers 옵션은 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | 1 | 정수 |
camel.component.jms.configuration | 공유 JMS 구성을 사용하려면 다음을 수행합니다. 옵션은 org.apache.camel.component.jms.JmsConfiguration 유형입니다. | JmsConfiguration | |
camel.component.jms.connection-factory | 사용할 연결 팩토리입니다. 연결 팩토리는 구성 요소 또는 끝점에서 구성해야 합니다. 옵션은 javax.jms.ConnectionFactory 유형입니다. | ConnectionFactory | |
camel.component.jms.consumer-type | 사용할 소비자 유형(간단, 기본값 또는 사용자 지정) 중 하나일 수 있습니다. 소비자 유형에 따라 사용할 Spring JMS 리스너가 결정됩니다. Default는 org.springframework.jms.listener.DefaultMessageListenerContainer를 사용합니다. Simple는 org.springframework.jms.listener.SimpleMessageListenerContainer를 사용합니다. Custom이 지정되면 messageListenerContainerFactory로 정의된 MessageListenerContainerFactory 옵션에 따라 사용할 org.springframework.jms.listener.AbstractMessageListenerContainerContainery가 결정됩니다. | ConsumerType | |
camel.component.jms.correlation-property | InOut 교환 패턴을 사용하는 경우 JMSCorrelationID JMS 속성 대신 이 JMS 속성을 사용하여 메시지의 상관 관계를 파악합니다. 설정된 메시지가 이 속성의 값에만 관련이 있는 경우 JMSCorrelationID 속성 값은 무시되며 Camel에서 설정하지 않습니다. | 문자열 | |
camel.component.jms.default-task-executor-type | 소비자 끝점과 생산자 끝점의 ReplyTo 소비자 모두에 DefaultMessageListenerContainer에서 사용할 기본 TaskExecutor 유형을 지정합니다. 가능한 값: SimpleAsync(S Spring의 SimpleAsyncTaskExecutor 사용) 또는 ThreadPool(프링의 ThreadPoolTaskExecutor를 최적의 값으로 사용) - 캐시된 threadpool-like. 설정하지 않으면 기본적으로 소비자 엔드포인트에 캐시된 스레드 풀을 사용하고 응답 소비자에는 SimpleAsync를 사용하는 이전 동작으로 설정됩니다. ThreadPool을 사용하면 동시 소비자를 동적으로 증가 및 줄임으로써 탄력적 구성에서 스레드 트래시를 줄이는 것이 좋습니다. | DefaultTaskExecutorType | |
camel.component.jms.delivery-delay | JMS에 대한 send 호출에 사용할 전달 지연을 설정합니다. 이 옵션을 사용하려면 JMS 2.0 호환 브로커가 필요합니다. | -1 | long |
camel.component.jms.delivery-mode | 사용할 전달 모드를 지정합니다. 가능한 값은 javax.jms.DeliveryMode에서 정의한 값입니다. NON_PERSISTENT = 1 및 PERSISTENT = 2. | 정수 | |
camel.component.jms.delivery-persistent | 기본적으로 영구 제공이 사용되는지 여부를 지정합니다. | true | 부울 |
camel.component.jms.destination-resolver | 플러그형 org.springframework.jms.support.destination.DestinationResolver - 자체 확인 프로그램을 사용할 수 있습니다(예: JNDI 레지스트리에서 실제 대상 조회). 옵션은 org.springframework.jms.support.destination.DestinationResolver 유형입니다. | DestinationResolver | |
camel.component.jms.disable-reply-to | Camel이 메시지에서 JMSReplyTo 헤더를 무시하는지 여부를 지정합니다. true인 경우 Camel은 JMSReplyTo 헤더에 지정된 대상으로 회신을 다시 보내지 않습니다. Camel을 경로에서 사용하고 코드의 다른 구성 요소가 응답 메시지를 처리하므로 Camel이 응답 메시지를 자동으로 다시 전송하지 않도록 하려면 이 옵션을 사용할 수 있습니다. 다른 메시지 브로커 간의 프록시로 Camel을 사용하고 한 시스템에서 다른 시스템으로 메시지를 라우팅하려는 경우에도 이 옵션을 사용할 수 있습니다. | false | 부울 |
camel.component.jms.disable-time-to-live | 이 옵션을 사용하여 실시간으로 비활성화 시간을 강제 적용합니다. 예를 들어 JMS를 통해 요청/응답을 수행하는 경우 Camel은 기본적으로 전송 중인 메시지에 실시간 requestTimeout 값을 사용합니다. 문제는 발신자와 수신자 시스템의 시계가 동기화되어 있어야 한다는 것입니다. 항상 압축하기 쉬운 것은 아닙니다. 따라서 disableTimeToLive=true를 사용하여 전송된 메시지에 실시간 값으로 시간을 설정하지 않을 수 있습니다. 그러면 메시지가 수신자 시스템에서 만료되지 않습니다. 자세한 내용은 아래 섹션(Time to live)을 참조하십시오. | false | 부울 |
camel.component.jms.durable-subscription-name | 해제된 주제 서브스크립션을 지정하기 위한 조정된 구독자 이름입니다. clientId 옵션도 구성해야 합니다. | 문자열 | |
camel.component.jms.eager-loading-of-properties | JMS 속성이 필요하지 않을 수 있으므로 일반적으로 비효율적이지만 기본 JMS 공급자 및 JMS 속성 사용에 대한 모든 문제를 조기에 가져올 수 있으므로 메시지가 로드되는 즉시 JMS 속성 및 페이로드를 빠르게 로드할 수 있습니다. eagerPoisonBody 옵션도 참조하십시오. | false | 부울 |
camel.component.jms.eager-poison-body | eagerLoadingOfProperties가 활성화되어 있고 JMS 메시지 페이로드(JMS 본문 또는 JMS 속성)가 Poison이면 이 텍스트를 메시지 본문으로 설정하여 메시지가 처리될 수 있도록 합니다(Emblict의 원인은 Exchange에서 예외로 저장됨). 이 기능은 eagerPoisonBody=false를 설정하여 비활성화할 수 있습니다. eagerLoadingOfProperties 옵션도 참조하십시오. | $\{exception.message}로 인한 JMS 메시지 중독 | 문자열 |
camel.component.jms.enabled | jms 구성 요소의 자동 구성을 활성화할지 여부입니다. 이는 기본적으로 활성화되어 있습니다. | 부울 | |
camel.component.jms.error-handler | 메시지를 처리하는 동안 발생하지 않는 예외의 경우 호출할 org.springframework.util.ErrorHandler를 지정합니다. 기본적으로 이러한 예외는 errorHandler가 구성되지 않은 경우 WARN 수준에서 기록됩니다. 로깅 수준과 errorHandlerLoggingLevel 및 errorHandlerLogStackTrace 옵션을 사용하여 스택 추적을 로깅할지 여부를 구성할 수 있습니다. 이렇게 하면 사용자 정의 errorHandler를 코딩하는 것보다 훨씬 쉽게 구성할 수 있습니다. 옵션은 org.springframework.util.ErrorHandler 유형입니다. | ErrorHandler | |
camel.component.jms.error-handler-log-stack-trace | 기본 errorHandler에 의해 stacktraces가 기록될지 여부를 제어할 수 있습니다. | true | 부울 |
camel.component.jms.error-handler-logging-level | 사용되지 않는 예외에 대해 기본 errorHandler 로깅 수준을 구성할 수 있습니다. | LoggingLevel | |
camel.component.jms.exception-listener | 기본 JMS 예외 예외에 대한 알림을 받을 JMS Exception Listener를 지정합니다. 옵션은 javax.jms.ExceptionListener 유형입니다. | ExceptionListener | |
camel.component.jms.explicit-qos-enabled | 메시지를 보낼 때 deliveryMode, priority 또는 timeToLive 서비스 수준을 사용해야 하는 경우 설정합니다. 이 옵션은 Spring의 JmsTemplate을 기반으로 합니다. deliveryMode, priority 및 timeToLive 옵션은 현재 끝점에 적용됩니다. 이는 메시지 세분성으로 작동하는 preserveMessageQos 옵션과 달리 Camel In 메시지 헤더에서만 QoS 속성을 읽습니다. | false | 부울 |
camel.component.jms.expose-listener-session | 메시지를 사용할 때 리스너 세션을 노출할지 여부를 지정합니다. | false | 부울 |
camel.component.jms.force-send-original-message | mapJmsMessage=false Camel을 사용하면 경로 중 헤더(get 또는 set)를 만지면 새 JMS 대상으로 전송할 새 JMS 메시지를 생성합니다. Camel이 수신한 원래 JMS 메시지를 전송하도록 하려면 이 옵션을 true로 설정합니다. | false | 부울 |
camel.component.jms.format-date-headers-to-iso8601 | ISO 8601 표준에 따라 JMS 날짜 속성의 형식을 지정할지 여부를 설정합니다. | false | 부울 |
camel.component.jms.header-filter-strategy | 사용자 지정 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지와 헤더를 필터링합니다. 옵션은 org.apache.camel.spi.HeaderFilterStrategy 유형입니다. | HeaderFilterStrategy | |
camel.component.jms.idle-consumer-limit | 언제든지 유휴 상태로 설정할 수 있는 소비자 수에 대한 제한을 지정합니다. | 1 | 정수 |
camel.component.jms.idle-task-execution-limit | 실행 내에서 메시지를 수신하지 않고 수신 작업의 유휴 실행에 대한 제한을 지정합니다. 이 제한에 도달하면 작업이 종료되고 다른 실행 중인 작업에 수신이 유지됩니다(동적 스케줄링의 경우 maxConcurrentConsumers 설정 참조). Spring에서 제공하는 추가 문서도 있습니다. | 1 | 정수 |
camel.component.jms.include-all-j-m-s-x-properties | JMS에서 Camel Message로 매핑할 때 모든 JMSXxxx 속성을 포함할지 여부입니다. 이 값을 true로 설정하면 JMSXAppID 및 JMSXUserID 등과 같은 속성이 포함됩니다. 참고: 사용자 정의 headerFilterStrategy를 사용하는 경우 이 옵션은 적용되지 않습니다. | false | 부울 |
camel.component.jms.include-sent-j-m-s-message-i-d | InOnly를 사용하여 JMS 대상으로 보내는 경우에만 적용됩니다(예: 실행 및 잊기). 이 옵션을 활성화하면 메시지가 JMS 대상으로 전송되었을 때 JMS 클라이언트가 사용한 실제 JMSMessageID를 사용하여 Camel Exchange를 보강합니다. | false | 부울 |
camel.component.jms.jms-key-format-strategy | JMS 키를 인코딩 및 디코딩하여 JMS 사양을 준수할 수 있도록 연결 가능한 전략입니다. Camel은 기본적으로 default 및 passthrough의 두 가지 구현을 제공합니다. 기본 전략은 점과 하이픈(. 및 -)을 안전하게 마샬링합니다. 패스스루 전략은 키를 그대로 유지합니다. JMS 헤더 키에 잘못된 문자가 포함되어 있는지 확인하지 않는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. | JmsKeyFormatStrategy | |
camel.component.jms.jms-message-type | JMS 메시지를 전송하기 위해 특정 javax.jms.Message 구현을 강제로 사용할 수 있습니다. 가능한 값은 10.0.0.1s, Map, Object, Stream, text입니다. 기본적으로 Camel은 In body type에서 사용할 JMS 메시지 유형을 결정합니다. 이 옵션을 사용하면 지정할 수 있습니다. | JmsMessageType | |
camel.component.jms.lazy-create-transaction-manager | true인 경우 Camel은 옵션이 transacted=true인 경우 트랜잭션 관리자가 삽입되지 않은 경우 JmsTransactionManager를 생성합니다. | true | 부울 |
camel.component.jms.lazy-start-producer | 첫 번째 메시지에서 생산자를 lazy로 시작해야 하는지 여부입니다. lazy를 시작하여 이를 사용하여 생산자가 시작되지 않고 생산자가 실패할 수 있는 상황에서 CamelContext 및 경로가 시작될 수 있도록 허용할 수 있습니다. 이 시작이 지연되도록 지연되면 Camel의 라우팅 오류 핸들러를 통해 메시지를 라우팅하는 동안 시작 실패를 처리할 수 있습니다. 첫 번째 메시지가 처리되면 프로듀서 생성 및 시작이 다소 시간이 걸릴 수 있으며 총 처리 시간이 길어질 수 있습니다. | false | 부울 |
camel.component.jms.map-jms-message | Camel이 수신된 JMS 메시지를 javax.jms.knativeMessage와 같이 적절한 페이로드 유형으로 자동으로 매핑할지 여부를 String 등에 지정합니다. | true | 부울 |
camel.component.jms.max-concurrent-consumers | JMS에서 사용할 때 최대 동시 소비자 수를 지정합니다( JMS를 통해 요청/응답이 아님). 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. JMS를 통해 요청/응답을 수행할 때 option replyToMaxConcurrentConsumers는 응답 메시지 리스너에서 동시 소비자 수를 제어하는 데 사용됩니다. | 정수 | |
camel.component.jms.max-messages-per-task | 작업당 메시지 수입니다. -1은 무제한입니다. 동시 소비자(예: min max)에 범위를 사용하는 경우 이 옵션을 사용하여 작업이 덜 필요할 때 소비자의 축소 속도를 제어하기 위해 값을 100으로 설정할 수 있습니다. | -1 | 정수 |
camel.component.jms.message-converter | javax.jms.jms.support.converter.MessageConverter 사용자 지정 Spring org.springframework.jms.MessageConverter를 사용하여 javax.jms.Message로 매핑하는 방법을 제어할 수 있습니다. 옵션은 org.springframework.jms.support.converter.MessageConverter 유형입니다. | MessageConverter | |
camel.component.jms.message-created-strategy | Camel이 JMS 메시지를 보낼 때 Camel이 javax.jms.Message 개체의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용하려면 다음을 수행합니다. 옵션은 org.apache.camel.component.jms.MessageCreatedStrategy 유형입니다. | MessageCreatedStrategy | |
camel.component.jms.message-id-enabled | 전송할 때 메시지 ID를 추가해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하면 이러한 메시지에 메시지 ID가 null로 설정되어 있어야 합니다. 공급자가 힌트를 무시하면 메시지 ID를 정상적인 고유 값으로 설정해야 합니다. | true | 부울 |
camel.component.jms.message-listener-container-factory | 메시지를 사용하는 데 사용할 org.springframework.jms.listener.AbstractMessageListenerContainery를 결정하는 데 사용되는 MessageListenerContainerFactory의 레지스트리 ID입니다. 이 값을 설정하면 consumerType이 Custom으로 자동 설정됩니다. 옵션은 org.apache.camel.component.jms.MessageListenerContainerFactory 유형입니다. | MessageListenerContainerFactory | |
camel.component.jms.message-timestamp-enabled | 메시지 전송 시 타임스탬프를 기본적으로 사용하도록 설정해야 하는지 여부를 지정합니다. 이는 JMS 브로커에 대한 힌트일 뿐입니다. JMS 공급자가 이 힌트를 수락하는 경우 이러한 메시지에는 타임스탬프가 0으로 설정되어 있어야 합니다. 공급자가 타임스탬프를 일반 값으로 설정해야 하는 힌트를 무시합니다. | true | 부울 |
camel.component.jms.password | ConnectionFactory와 함께 사용할 암호입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다. | 문자열 | |
camel.component.jms.preserve-message-qos | JMS 끝점의 QoS 설정이 아니라 메시지에 지정된 QoS 설정을 사용하여 메시지를 보내려면 true로 설정합니다. 다음 세 개의 헤더는 JMSPriority, JMSDeliveryMode 및 JMSExpiration으로 간주됩니다. 전부 또는 일부만 제공할 수 있습니다. 제공되지 않는 경우 Camel은 대신 엔드포인트의 값을 사용하도록 대체됩니다. 따라서 이 옵션을 사용하면 헤더가 끝점의 값을 덮어씁니다. 반면 explicitQosEnabled 옵션은 메시지 헤더의 값이 아닌 끝점에 설정된 옵션만 사용합니다. | false | 부울 |
camel.component.jms.priority | 1보다 큰 값은 전송할 때 메시지 우선 순위를 지정합니다(여기서 1은 가장 낮은 우선 순위이고 9가 가장 높은 값입니다). 이 옵션이 적용되려면 explicitQosEnabled 옵션도 활성화해야 합니다. | 4 | 정수 |
camel.component.jms.pub-sub-no-local | 자체 연결에 의해 게시되는 메시지 전달을 억제할지 여부를 지정합니다. | false | 부울 |
camel.component.jms.queue-browse-strategy | 큐를 검색할 때 사용자 지정 Queue>-<Strategy를 사용하려면 다음을 수행합니다. 옵션은 org.apache.camel.component.jms.Queue>-<Strategy 유형입니다. | QueueBrowseStrategy | |
camel.component.jms.receive-timeout | 메시지 수신에 대한 제한 시간(밀리초)입니다. 옵션은 긴 유형입니다. | 1000 | long |
camel.component.jms.recovery-interval | 연결을 새로 고치는 경우(예: 밀리초) 복구 시도 간격을 지정합니다. 기본값은 5000ms, 즉 5초입니다. 옵션은 긴 유형입니다. | 5000 | long |
camel.component.jms.reply-to | 명시적인 ReplyTo 대상을 제공합니다(sumJMSReplyTo() in consumer.getJMSReplyTo()의 수신 값 재정의). | 문자열 | |
camel.component.jms.reply-to-cache-level-name | JMS를 통해 요청/reply할 때 응답 소비자의 이름별로 캐시 수준을 설정합니다. 이 옵션은 고정 응답 큐(임시 아님)를 사용하는 경우에만 적용됩니다. Camel은 기본적으로 사용합니다. 전용 또는 공유 w/ replyToSelectorName의 경우 CACHE_CONSUMER입니다. 그리고 replyToSelectorName 없이 공유되는 경우 CACHE_SESSION IBMNodePolicy와 같은 일부 JMS 브로커는 replyToCacheLevelName=CACHE_NONE을 작동으로 설정해야 할 수 있습니다. 참고: 임시 대기열을 사용하는 경우 CACHE_NONE은 허용되지 않으며 CACHE_CONSUMER 또는 CACHE_SESSION과 같은 더 높은 값을 사용해야 합니다. | 문자열 | |
camel.component.jms.reply-to-concurrent-consumers | JMS를 통해 요청/응답할 때 동시 소비자의 기본 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | 1 | 정수 |
camel.component.jms.reply-to-delivery-persistent | 응답에 기본적으로 영구 전달을 사용할지 여부를 지정합니다. | true | 부울 |
camel.component.jms.reply-to-destination-selector-name | 공유 큐를 사용할 때(즉, 임시 응답 큐를 사용하지 않는 경우) 다른 사용자의 응답을 필터링할 수 있도록 고정 이름을 사용하여 JMS 선택기를 설정합니다. | 문자열 | |
camel.component.jms.reply-to-max-concurrent-consumers | JMS를 통해 request/reply를 사용할 때 최대 동시 소비자 수를 지정합니다. 스레드의 동적 확장/다운을 제어하려면 maxMessagesPerTask 옵션도 참조하십시오. | 정수 | |
camel.component.jms.reply-to-on-timeout-max-concurrent-consumers | JMS를 통해 요청/응답을 사용할 때 타임아웃이 발생할 때 연속 라우팅에 대한 최대 동시 소비자 수를 지정합니다. | 1 | 정수 |
camel.component.jms.reply-to-override | JMS 메시지에 명시적으로 ReplyTo 대상을 제공하여 replyTo 설정을 덮어씁니다. 메시지를 원격 큐로 전달하고 ReplyTo 대상에서 응답 메시지를 수신하려는 경우 유용합니다. | 문자열 | |
camel.component.jms.reply-to-same-destination-allowed | JMS 소비자가 소비자가 소비하기 위해 사용 중인 동일한 대상으로 응답 메시지를 보낼 수 있는지의 여부입니다. 이렇게 하면 동일한 메시지를 소비하고 자체에 전송하여 끝없는 루프를 방지할 수 있습니다. | false | 부울 |
camel.component.jms.reply-to-type | JMS를 통해 request/reply를 수행할 때 replyTo 큐에 사용할 전략 종류를 명시적으로 지정할 수 있습니다. 가능한 값은 임시, 공유 또는 제외입니다. 기본적으로 Camel은 임시 대기열을 사용합니다. 그러나 replyTo가 구성된 경우 기본적으로 Shared가 사용됩니다. 이 옵션을 사용하면 공유된 큐 대신 전용 큐를 사용할 수 있습니다. 자세한 내용과 특히 클러스터형 환경에서 실행되는 경우의 영향 및 공유 응답 대기열의 성능이 대체 시간 및 제외보다 성능이 적다는 사실에 대한 자세한 내용은 Camel JMS 문서를 참조하십시오. | ReplyToType | |
camel.component.jms.request-timeout | InOut 교환 패턴 (밀리초)을 사용할 때 응답을 기다리는 시간 초과입니다. 기본값은 20초입니다. CamelJmsRequestTimeout 헤더를 포함하여 이 엔드포인트 구성 시간 값을 재정의하고 메시지마다 개별 시간 초과 값을 포함할 수 있습니다. requestTimeoutCheckerInterval 옵션도 참조하십시오. 옵션은 긴 유형입니다. | 20000 | long |
camel.component.jms.request-timeout-checker-interval | Camel이 JMS를 통해 요청/응답할 때 시간 초과 교환을 확인하는 빈도를 설정합니다. 기본적으로 Camel 검사는 초당 한 번 확인합니다. 그러나 시간 초과가 발생할 때 더 빠르게 대응해야 하는 경우 이 간격을 줄여 더 자주 확인할 수 있습니다. 시간 초과는 옵션 requestTimeout에 따라 결정됩니다. 옵션은 긴 유형입니다. | 1000 | long |
camel.component.jms.selector | 사용할 JMS 선택기를 설정합니다. | 문자열 | |
camel.component.jms.stream-message-type-enabled | StreamMessage 유형이 활성화되었는지 여부를 설정합니다. 파일, InputStream 등과 같은 스트리밍 유형의 메시지 페이로드는 CloudEventsMessage 또는 StreamMessage로 전송됩니다. 이 옵션은 사용할 유형을 제어합니다. 기본적으로는 전체 메시지 페이로드를 메모리로 읽어오는 데 사용됩니다. 이 옵션을 사용하면 메시지 페이로드가 청크의 메모리에 읽어지고 각 청크는 더 이상 데이터가 없을 때까지 StreamMessage에 기록됩니다. | false | 부울 |
camel.component.jms.subscription-durable | 서브스크립션을 사용할지 여부를 설정합니다. 사용할 고정 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않으면 일반적으로 subscriptionName 값과 함께 하기 위해 이 값을 true로 설정합니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법에서도 barSubDomain 플래그를 전환합니다. | false | 부울 |
camel.component.jms.subscription-name | 생성할 서브스크립션의 이름을 설정합니다. 공유 또는 지속성 서브스크립션을 사용하는 주제(pub-sub 도메인)의 경우 적용됩니다. 서브스크립션 이름은 이 클라이언트의 JMS 클라이언트 ID 내에서 고유해야 합니다. 기본값은 지정된 메시지 리스너의 클래스 이름입니다. 참고: 공유 서브스크립션( JMS 2.0 필요)을 제외한 각 서브스크립션에 대해 동시 소비자(이 메시지 리스너 컨테이너의 기본값인) 1개만 허용됩니다. | 문자열 | |
camel.component.jms.subscription-shared | 서브스크립션을 공유할지 여부를 설정합니다. 사용할 공유 서브스크립션 이름은 subscriptionName 속성을 통해 지정할 수 있습니다. 기본값은 false입니다. 일반적으로 메시지 리스너 클래스 이름이 서브스크립션 이름으로 충분하지 않는 한 공유 서브스크립션을 등록하려면 이 값을 true로 설정합니다. 공유 서브스크립션은 또한 불안정할 수 있으므로 이 플래그는 subscriptionDurable과 결합될 수 있습니다. 주제(pub-sub 도메인)를 청취할 때만 의미가 있으므로 이 방법에서도 barSubDomain 플래그를 전환합니다. JMS 2.0 호환 메시지 브로커가 필요합니다. | false | 부울 |
camel.component.jms.synchronous | 동기 처리를 엄격하게 사용해야 하는지 여부를 설정합니다. | false | 부울 |
camel.component.jms.task-executor | 메시지를 사용하기 위한 사용자 지정 작업 executor를 지정할 수 있습니다. 옵션은 org.springframework.core.task.TaskExecutor 유형입니다. | TaskExecutor | |
camel.component.jms.test-connection-on-startup | 시작 시 연결을 테스트할지 여부를 지정합니다. 이렇게 하면 Camel이 시작되면 모든 JMS 소비자가 JMS 브로커와 유효한 연결을 갖습니다. 연결을 부여할 수 없는 경우 Camel이 시작 시 예외를 발생시킵니다. 이렇게 하면 실패한 연결로 Camel이 시작되지 않습니다. JMS 생산자도 테스트됩니다. | false | 부울 |
camel.component.jms.time-to-live | 메시지를 보낼 때 메시지의 라이브 시간(밀리초)을 지정합니다. | -1 | long |
camel.component.jms.transacted | 변환 모드를 사용할지 여부를 지정합니다. | false | 부울 |
camel.component.jms.transacted-in-out | 이 플래그가 true로 설정된 경우 InOut 작업(응답 요청)이 Transacted 모드를 사용하도록 기본지 여부를 지정합니다. 이 플래그를 true로 설정한 경우 Spring JmsTemplate이 true로 설정되고 InOut 작업에 사용되는 JmsTemplate에서 표시되는 acknowledgeMode가 true로 설정됩니다. Spring JMS: JTA 트랜잭션 내에서Queue에 전달된 매개변수는 createTopic 메서드가 고려되지 않습니다. Java EE 트랜잭션 컨텍스트에 따라 컨테이너는 이러한 값에 대해 자체 결정을 내립니다. 유사하게, 이러한 매개 변수는 이 경우 Spring JMS가 기존 JMS 세션에서 작동하기 때문에 로컬 관리 트랜잭션 내에서 고려되지 않습니다. 이 플래그를 true로 설정하면 관리 트랜잭션 외부에서 실행할 때 짧은 로컬 JMS 트랜잭션과 관리 트랜잭션(XA 트랜잭션 제외)이 있는 경우 동기화된 로컬 JMS 트랜잭션이 사용됩니다. 이는 JMS 트랜잭션이 기본 트랜잭션 직후에 커밋되는 기본 트랜잭션(기본 JDBC 트랜잭션일 수 있음)과 함께 관리되는 로컬 JMS 트랜잭션이 영향을 미칩니다. | false | 부울 |
camel.component.jms.transaction-manager | Spring 트랜잭션 관리자가 사용할 수 있습니다. 옵션은 org.springframework.ECDHE.PlatformTransactionManager 유형입니다. | PlatformTransactionManager | |
camel.component.jms.transaction-name | 사용할 트랜잭션의 이름입니다. | 문자열 | |
camel.component.jms.transaction-timeout | 트랜잭션 모드를 사용하는 경우 트랜잭션 제한 값(초)입니다. | -1 | 정수 |
camel.component.jms.transfer-exception | 사용 가능하며 소비자 측에서 Request Reply messaging (InOut)를 사용하고 있는 경우, 발생한 Exception은 javax.jms.ObjectMessage로 응답으로 다시 전송됩니다. 클라이언트가 Camel인 경우 반환된 Exception이 다시 표시됩니다. 이를 통해 Camel JMS를 라우팅의 브리지로 사용할 수 있습니다(예: 영구 대기열을 사용하여 강력한 라우팅 가능). transferExchange를 사용하도록 설정한 경우에도 이 옵션이 우선합니다. catch된 예외는 직렬화할 수 있어야 합니다. 소비자 측의 원래 예외는 org.apache.camel.RuntimeCamelException과 같은 외부 예외로 래핑할 수 있습니다. 데이터가 Java Object serialization을 사용하고 있으며 수신한 데이터를 클래스 수준에서 역직렬화할 수 있어야 하므로 생산자와 소비자 간에 강력한 결합이 강제 적용됩니다. | false | 부울 |
camel.component.jms.transfer-exchange | 본문과 헤더 대신 전선을 통해 교환을 전송할 수 있습니다. 본문, 외부, Fault 본문, In headers, Out headers, Fault headers, Fault headers, exchange properties, exchange exception. 이를 위해 오브젝트를 직렬화할 수 있어야 합니다. Camel은 비합리화 가능한 오브젝트를 제외하고 WARN 수준에서 기록합니다. 생산자와 소비자 양쪽 모두에서 이 옵션을 활성화해야 하므로 Camel은 페이로드가 일반 페이로드가 아니라 Exchange임을 알고 있습니다. 데이터가 Java Object serialization을 사용하고 있고 수신자가 클래스 수준에서 데이터를 역직렬화할 수 있어야 하므로, 호환되는 Camel 버전을 사용해야 하는 생산자와 소비자 간에 강력한 결합이 강제 적용됩니다. | false | 부울 |
camel.component.jms.use-message-i-d-as-correlation-i-d | JMSMessageID가 항상 InOut 메시지의 JMSCorrelationID로 사용되어야 하는지 여부를 지정합니다. | false | 부울 |
camel.component.jms.username | ConnectionFactory와 함께 사용할 사용자 이름입니다. ConnectionFactory에서 직접 사용자 이름/암호를 구성할 수도 있습니다. | 문자열 | |
camel.component.jms.wait-for-provision-correlation-to-be-updated-counter | JMS에 대해 요청/응답을 수행할 때 및 option useMessageIDAsCorrelationID가 활성화될 때 임시 상관 관계 ID가 실제 상관 ID로 업데이트될 때까지 대기하는 횟수입니다. | 50 | 정수 |
camel.component.jms.wait-for-provision-correlation-to-be-updated-thread-sleeping-time | 프로비저닝 상관 관계 ID가 업데이트되기를 기다리는 동안 매번 millis의 간격이 유휴 상태가 됩니다. 옵션은 긴 유형입니다. | 100 | long |