178.7. JMS와 Camel 간 메시지 매핑


Camel은 javax.jms.Messageorg.apache.camel.Message 사이에 메시지를 자동으로 매핑합니다.

JMS 메시지를 전송할 때 Camel은 메시지 본문을 다음 JMS 메시지 유형으로 변환합니다.

Expand
본문 유형JMS 메시지주석

문자열

javax.jms.TextMessage

 

org.w3c.dom.Node

javax.jms.TextMessage

DestinationRule은 String 으로 변환됩니다.

map

javax.jms.MapMessage

 

java.io.Serializable

javax.jms.ObjectMessage

 

byte[]

javax.jms.BytesMessage

 

java.io.File

javax.jms.BytesMessage

 

java.io.Reader

javax.jms.BytesMessage

 

java.io.InputStream

javax.jms.BytesMessage

 

java.nio.ByteBuffer

javax.jms.BytesMessage

 

JMS 메시지를 수신할 때 Camel은 JMS 메시지를 다음 본문 유형으로 변환합니다.

Expand
JMS 메시지본문 유형

javax.jms.TextMessage

문자열

javax.jms.BytesMessage

byte[]

javax.jms.MapMessage

map<String, Object>

javax.jms.ObjectMessage

개체

178.7.1. JMS 메시지의 자동 매핑 비활성화

mapJmsMessage 옵션을 사용하여 위의 자동 매핑을 비활성화할 수 있습니다. 비활성화된 경우 Camel은 수신된 JMS 메시지를 매핑하지 않고 대신 페이로드로 직접 사용합니다. 이를 통해 매핑의 오버헤드를 방지하고 Camel이 JMS 메시지를 통과하도록 할 수 있습니다. 예를 들어 classpath에 없는 클래스와 함께 javax.jms.ObjectMessage JMS 메시지를 라우팅할 수도 있습니다.

178.7.2. 사용자 정의 MessageConverter 사용

messageConverter 옵션을 사용하여 Spring org.springframework.jms.support.converter.MessageConverter 클래스에서 직접 매핑을 수행할 수 있습니다.

예를 들어 아래 경로에서는 메시지를 JMS 순서 큐로 전송할 때 사용자 정의 메시지 변환기를 사용합니다.

from("file://inbox/order").to("jms:queue:order?messageConverter=#myMessageConverter");
Copy to Clipboard Toggle word wrap

JMS 대상에서 사용할 때 사용자 정의 메시지 변환기를 사용할 수도 있습니다.

178.7.3. 선택한 매핑 전략 제어

끝점 URL에서 jmsMessageType 옵션을 사용하여 모든 메시지에 대해 특정 메시지 유형을 강제 적용할 수 있습니다.

아래 경로에서는 JMS 프로듀서 엔드포인트에서 텍스트 메시지를 사용하도록 강제했기 때문에 폴더의 파일을 폴링하고 javax.jms.ECDHEMessage 로 보냅니다.

from("file://inbox/order").to("jms:queue:order?jmsMessageType=Text");
Copy to Clipboard Toggle word wrap

CamelJmsMessageType 키로 헤더를 설정하여 각 메시지에 사용할 메시지 유형을 지정할 수도 있습니다. 예를 들면 다음과 같습니다.

from("file://inbox/order").setHeader("CamelJmsMessageType", JmsMessageType.Text).to("jms:queue:order");
Copy to Clipboard Toggle word wrap

가능한 값은 org.apache.camel.jms.JmsMessageType 에 정의되어 있습니다.

맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat