307.2. 구성 요소 옵션 및 구성
Simple JMS 구성 요소는 아래에 나열된 15 가지 옵션을 지원합니다.
| 이름 | 설명 | 기본 | 유형 |
|---|---|---|---|
| ConnectionFactory (advanced) | SjmsComponent를 활성화하려면 ConnectionFactory가 필요합니다. 직접 설정하거나 ConnectionResource의 일부로 설정할 수 있습니다. | ConnectionFactory | |
| connectionResource (고급) | ConnectionResource는 ConnectionFactory에 대한 사용자 지정 및 컨테이너 제어를 허용하는 인터페이스입니다. 자세한 내용은 플러그형 연결 리소스 관리를 참조하십시오. | ConnectionResource | |
| connectionCount (공용) | 이 구성 요소에서 시작된 끝점에 사용할 수 있는 최대 연결 수 | 1 | 정수 |
| jmsKeyFormatStrategy (advanced) | JMS 키를 인코딩 및 디코딩하여 JMS 사양을 준수할 수 있도록 플러그형 전략입니다. Camel은 기본적으로 하나의 구현을 제공합니다. default. 기본 전략은 점과 하이픈(. and -)을 안전하게 마샬링합니다. 는 JMS 헤더 키에 잘못된 문자가 포함되어 있는지와 관련이 없는 JMS 브로커에 사용할 수 있습니다. org.apache.camel.component.jms.JmsKeyFormatStrategy의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. | JmsKeyFormatStrategy | |
| TransactionCommit 전략(TransactionCommit Strategy ) | 사용할 커밋 전략을 구성하려면 다음을 수행합니다. Camel은 기본 및 배치라는 두 가지 구현을 기본적으로 제공합니다. | TransactionCommit Strategy | |
| 대상Creation Strategy (advanced) | 사용자 정의 DestinationCreationStrategy를 사용하려면 다음을 수행합니다. | DestinationCreation Strategy | |
| timedTaskManager (advanced) | 사용자 지정 TimedTaskManager 사용 | TimedTaskManager | |
| messageCreatedStrategy (advanced) | Camel이 JMS 메시지를 보낼 때 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다. | MessageCreatedStrategy | |
| connectionTestOnBorrow (고급) | 기본 org.apache.camel.component.sjms.jms.ConnectionFactoryResource를 사용하는 경우 풀에서 반환하기 전에 각 javax.jms.Connection을 테스트해야 합니다. | true | boolean |
| connectionUsername (보안) | 기본 org.apache.camel.component.sjms.jms.ConnectionFactoryResource를 사용할 때 사용할 사용자 이름입니다. | 문자열 | |
| connectionPassword (보안) | 기본 org.apache.camel.component.sjms.jms.ConnectionFactoryResource를 사용할 때 사용할 암호입니다. | 문자열 | |
| connectionClientId (advanced) | 기본 org.apache.camel.component.sjms.ConnectionFactoryResource를 사용할 때 사용할 클라이언트 ID입니다. | 문자열 | |
| connectionMaxWait (advanced) | 기본 org.apache.camel.component.sjms.jms.ConnectionFactoryResource를 사용할 때 풀이 소진될 때 최대 대기 시간(밀리초)을 차단하고 대기합니다. | 5000 | long |
| headerFilterStrategy (filter) | 사용자 정의 org.apache.camel.spi.HeaderFilterStrategy를 사용하여 Camel 메시지로의 헤더를 필터링합니다. | HeaderFilterStrategy | |
| resolveProperty Placeholders (advanced) | 구성 요소 시작 시 속성 자리 표시자를 자체적으로 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다. | true | boolean |
Simple JMS 끝점은 URI 구문을 사용하여 구성됩니다.
sjms:destinationType:destinationName
다음 경로 및 쿼리 매개변수를 사용합니다.
307.2.1. 경로 매개변수 (2 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본 | 유형 |
|---|---|---|---|
| destinationType | 사용할 대상의 종류 | 대기열 | 문자열 |
| destinationName | required DestinationName은 JMS 큐 또는 주제 이름입니다. 기본적으로 destinationName은 큐 이름으로 해석됩니다. | 문자열 |
307.2.2. 쿼리 매개변수(34 매개변수): 링크 복사링크가 클립보드에 복사되었습니다!
| 이름 | 설명 | 기본 | 유형 |
|---|---|---|---|
| acknowledgementMode (일반) | SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE 중 하나인 JMS 승인 이름 | AUTO_ ACKNOWLEDGE | SessionAcknowledgement Type |
| bridgeErrorHandler (consumer) | Camel 라우팅 오류 처리기에 소비자를 브리징할 수 있습니다. 즉, 소비자가 들어오는 메시지를 선택하려고 하는 동안 발생한 모든 예외가 이제 메시지로 처리되고 라우팅 오류 처리기에서 처리됩니다. 기본적으로 소비자는 org.apache.camel.spi.ExceptionHandler를 사용하여 WARN 또는 ERROR 수준에서 기록되고 무시됩니다. | false | boolean |
| consumerCount (consumer) | 이 엔드포인트에 사용되는 소비자 리스너 수를 설정합니다. | 1 | int |
| CryostatSubscriptionId (consumer) | Cryostat 주제를 위해 필요한 Cryostat 서브스크립션 Id를 설정합니다. | 문자열 | |
| 동기 (Consumer) | 동기 처리를 엄격하게 사용해야 하는지 또는 Camel이 비동기 처리를 사용할 수 있는지 여부를 설정합니다(지원되는 경우). | true | boolean |
| exceptionHandler (consumer) | 사용자가 사용자 지정 ExceptionHandler를 사용하도록 하려면 다음을 수행합니다. bridgeErrorHandler 옵션이 활성화되어 있으면 이 옵션이 사용되지 않습니다. 기본적으로 소비자는 WARN 또는 ERROR 수준에서 기록되고 무시됩니다. | ExceptionHandler | |
| exchangePattern (consumer) | 소비자가 교환을 생성할 때 교환 패턴을 설정합니다. | ExchangePattern | |
| messageSelector (consumer) | JMS Message selector 구문을 설정합니다. | 문자열 | |
| namedReplyTo (producer) | InOut 생산자 엔드포인트에 사용되는 대상 이름으로 응답을 설정합니다. 대상에 대한 응답 유형은 해당 이름의 시작 접두사(topic: 또는 queue:)로 결정할 수 있습니다. | 문자열 | |
| 영구 (producer) | 메시지 지속성을 활성화/비활성화하는 데 사용되는 플래그입니다. | true | boolean |
| producerCount (producer) | 이 엔드포인트에 사용되는 생산자 수를 설정합니다. | 1 | int |
| TTL (producer) | 생성된 메시지의 Time To Live 값을 조정하는 데 사용되는 플래그입니다. | -1 | long |
| allowNullBody (producer) | 본문 없이 메시지를 보낼 수 있는지 여부입니다. 이 옵션이 false이고 메시지 본문이 null이면 JMSException이 발생합니다. | true | boolean |
| prefillPool (producer) | 시작 시 생산자 연결 풀을 미리 채우거나 필요한 경우 지연 연결을 생성할지 여부입니다. | true | boolean |
| responseTimeOut (producer) | InOut 응답을 타이밍하기 전에 기다려야 하는 시간을 설정합니다. | 5000 | long |
| asyncStartListener (고급) | 경로를 시작할 때 소비자 메시지 리스너를 비동기식으로 시작할지 여부입니다. 예를 들어 JmsConsumer가 원격 JMS 브로커에 연결할 수 없는 경우 다시 시도 및/또는 페일오버하는 동안 차단될 수 있습니다. 이로 인해 경로를 시작하는 동안 Camel이 차단됩니다. 이 옵션을 true로 설정하면 JmsConsumer가 비동기 모드에서 전용 스레드를 사용하여 JMS 브로커에 연결하는 동안 시작 경로를 라우팅하도록 합니다. 이 옵션을 사용하는 경우 연결을 설정할 수 없는 경우 예외가 WARN 수준에서 기록되고 소비자가 메시지를 수신할 수 없습니다. 그런 다음 경로를 다시 시작하여 다시 시작할 수 있습니다. | false | boolean |
| asyncStopListener (advanced) | 경로를 중지할 때 소비자 메시지 리스너를 비동기식으로 중지할지 여부입니다. | false | boolean |
| connectionCount (advanced) | 이 끝점에 사용할 수 있는 최대 연결 수 | 정수 | |
| ConnectionFactory (advanced) | 구성 요소의 connectionFactory보다 우선하는 엔드포인트의 connectionFactory를 초기화합니다. | ConnectionFactory | |
| connectionResource (고급) | 구성 요소의 connectionResource보다 우선 순위를 지정하는 엔드포인트의 connectionResource를 초기화합니다(있는 경우). | ConnectionResource | |
| destinationCreationStrategy (advanced) | 사용자 정의 DestinationCreationStrategy를 사용하려면 다음을 수행합니다. | DestinationCreation Strategy | |
| exceptionListener (고급) | 기본 JMS 예외에 대해 알림을 받을 JMS Exception Listener를 지정합니다. | ExceptionListener | |
| headerFilterStrategy (advanced) | 사용자 정의 HeaderFilterStrategy를 사용하여 Camel 메시지로의 헤더를 필터링하려면 다음을 수행합니다. | HeaderFilterStrategy | |
| 모든 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의 자체 구현을 제공하고 # 표기법을 사용하여 참조할 수 있습니다. | JmsKeyFormatStrategy | |
| mapJmsMessage (advanced) | Camel이 수신된 JMS 메시지를 javax.jms. CryostatMessage와 같은 적절한 페이로드 유형에 자동으로 매핑해야 하는지를 지정합니다. 자세한 내용은 아래에서 매핑 작동 방법에 대한 섹션을 참조하십시오. | true | boolean |
| messageCreatedStrategy (advanced) | Camel이 JMS 메시지를 보낼 때 javax.jms.Message 오브젝트의 새 인스턴스를 생성할 때 호출되는 지정된 MessageCreatedStrategy를 사용합니다. | MessageCreatedStrategy | |
| errorHandlerLoggingLevel (logging) | 로깅 uncaught 예외에 대한 기본 errorHandler 로깅 수준을 구성할 수 있습니다. | WARN | LoggingLevel |
| errorHandlerLogStackTrace (logging) | 기본 오류 처리기에서 stacktrace를 로깅할지 여부를 제어할 수 있습니다. | true | boolean |
| 트랜잭션됨 ( Cryostat) | Transacted 모드를 사용할지 여부를 지정합니다. | false | boolean |
| TransactionBatchCount ( Cryostat) | Transacted는 트랜잭션을 커밋하기 전에 처리할 메시지 수를 설정합니다. | -1 | int |
| transactionBatchTimeout ( Cryostat) | 일괄 트랜잭션에 대한 시간 초과(밀리초)를 설정합니다. 값은 1000 이상이어야 합니다. | 5000 | long |
| transactionCommitStrategy (transaction) | 커밋 전략을 설정합니다. | TransactionCommit Strategy | |
| sharedJMSSession ( Cryostat) | JMS 세션을 다른 SJMS 엔드포인트와 공유할지 여부를 지정합니다. 경로가 여러 JMS 공급자에 액세스하는 경우 이 기능을 끕니다. 여러 JMS 공급자에 대해 트랜잭션이 필요한 경우 jms 구성 요소를 사용하여 XA 트랜잭션을 활용합니다. | true | boolean |