177.6. 전송할 때 메시지 형식
JMS 유선을 통해 전송되는 교환은 JMS Message 사양 을 준수해야 합니다.
exchange.in.header 의 경우 헤더 키에 다음 규칙이 적용됩니다.
-
JMS또는JMSX로 시작하는 키는 예약되어 있습니다. -
exchange.in.headers키는 리터럴이어야 하며 모든 유효한 Java 식별자여야 합니다(키 이름에 dots를 사용하지 마십시오). -
Camel은 점과 하이픈을 대체하고 JMS 메시지를 사용할 때
.이가 메시지를 사용할 때DOT로 교체되고 Camel이 메시지를 사용할 때HYPHEN으로 교체되고 Camel이 메시지를 사용할 때 역방향 교체로 대체됩니다.
-
또한 서식 키에 대해 자체 사용자 지정 전략을 사용할 수 있는
jmsKeyFormatStrategy옵션도 참조하십시오.
exchange.in.header 의 경우 헤더 값에 다음 규칙이 적용됩니다.
-
값은 primitives 또는 해당 카운터 오브젝트(예:
Integer,Long,Character)여야 합니다. 형식,문자열,CharSequence,날짜,모두BigIntegertoString()표현으로 변환 됩니다. 다른 모든 유형은 삭제됩니다.
Camel은 지정된 헤더 값을 삭제하는 경우 DEBUG 수준에서 category org.apache.camel.component.jms.JmsBinding 으로 로그합니다. 예를 들면 다음과 같습니다.
2008-07-09 06:43:04,046 [main ] DEBUG JmsBinding
- Ignoring non primitive header: order of class: org.apache.camel.component.jms.issues.DummyOrder with value: DummyOrder{orderId=333, itemId=4444, quantity=2}
2008-07-09 06:43:04,046 [main ] DEBUG JmsBinding
- Ignoring non primitive header: order of class: org.apache.camel.component.jms.issues.DummyOrder with value: DummyOrder{orderId=333, itemId=4444, quantity=2}