178.7. JMS와 Camel 간 메시지 매핑

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

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

본문 유형JMS Messagecomment

문자열

javax.jms.TextMessage

 

org.w3c.dom.Node

javax.jms.TextMessage

DOM이 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 메시지를 다음 본문 유형으로 변환합니다.

JMS Message본문 유형

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 메시지를 라우팅할 수도 있습니다.