Message 오브젝트는 응용프로그램이 전송하거나 수신하는 메시지를 표시합니다.
xms::PropertyContext | +----xms::Message
Message 오브젝트의 JMS 메시지 헤더 필드 목록은 XMS 메시지의 헤더 필드를 참조하십시오. Message 오브젝트의 JMS 정의 등록 정보 목록은 메시지의 JMS 정의 등록 정보를 참조하십시오. Message 오브젝트의 IBM 정의 등록 정보 목록은 메시지의 IBM 정의 등록 정보를 참조하십시오.
메소드 | 설명 |
---|---|
~Message | 메시지를 삭제합니다. |
acknowledge | 이 메시지를 비롯하여 세션이 이전에 수신한 메시지 중 수신확인되지 모든 메시지를 수신확인합니다. |
clearBody | 메시지 본문을 지웁니다. |
clearProperties | 메시지 등록 정보를 지웁니다. |
getHandle | C 응용프로그램이 메시지에 액세스하기 위해 사용할 핸들을 가져옵니다. |
getJMSCorrelationID | 메시지의 상관 ID를 가져옵니다. |
getJMSDeliveryMode | 메시지 전달 모드를 가져옵니다. |
getJMSDestination | 메시지 목적지를 가져옵니다. |
getJMSExpiration | 메시지의 만기 시간을 가져옵니다. |
getJMSMessageID | 메시지의 메시지 ID를 가져옵니다. |
getJMSPriority | 메시지 우선순위를 가져옵니다. |
getJMSRedelivered | 메시지 재전달 여부를 나타내는 표시를 가져옵니다. |
getJMSReplyTo | 응답 메시지가 전송될 목적지를 가져옵니다. |
getJMSTimestamp | 메시지가 전송된 시간을 가져옵니다. |
getJMSType | 메시지의 유형을 가져옵니다. |
getProperties | 메시지의 등록 정보 목록을 가져옵니다. |
isNull | Message 오브젝트가 널 오브젝트인지 여부를 판별합니다. |
propertyExists | 지정된 이름의 등록 정보가 메시지에 있는지 검사합니다. |
setJMSCorrelationID | 메시지의 상관 ID를 설정합니다. |
setJMSDeliveryMode | 메시지 전달 모드를 설정합니다. |
setJMSDestination | 메시지의 목적지를 설정합니다. |
setJMSExpiration | 메시지의 만기 시간을 가져오고 설정합니다. |
setJMSMessageID | 메시지의 메시지 ID를 설정합니다. |
setJMSPriority | 메시지의 우선순위를 설정합니다. |
setJMSRedelivered | 메시지 재전달 여부를 나타냅니다. |
setJMSReplyTo | 응답 메시지가 전송될 목적지를 설정합니다. |
setJMSTimestamp | 메시지가 전송된 시간을 설정합니다. |
setJMSType | 메시지의 유형을 설정합니다. |
xmsVOID acknowledge();
이 메시지를 비롯하여 세션이 이전에 수신한 메시지 중 수신확인되지 모든 메시지를 수신확인합니다.
세션의 수신확인 모드가 XMSC_CLIENT_ACKNOWLEDGE일 경우 응용프로그램은 이 메소드를 호출할 수 있습니다. 세션이 다른 수신확인 모드에 있거나 트랜잭트된 세션일 경우 이 메소드에 대한 호출이 무시됩니다.
수신만 하고 수신확인되지 않은 메시지는 재전달할 수 있습니다.
메시지 수신확인에 대한 자세한 정보는 세션의 메시지 수신확인을 참조하십시오.
xmsVOID clearBody();
메시지 본문을 지웁니다. 헤더 필드와 메시지 등록 정보는 지워지지 않습니다.
응용프로그램이 메시지 본문을 지울 경우 이 본문의 상태는 새로 작성한 메시지의 빈 본문과 같은 상태입니다. 새로 작성한 메시지의 빈 본문의 상태는 메시지 본문의 유형에 따라 다릅니다. 자세한 정보는 XMS 메시지 본문을 참조하십시오.
응용프로그램은 본문 상태에 관계없이 언제든지 메시지 본문을 지울 수 있습니다. 메시지 본문이 읽기 전용일 경우 응용프로그램이 본문에 기록할 수 있는 유일한 방법은 먼저 본문을 지우는 것입니다.
xmsVOID clearProperties();
메시지 등록 정보를 지웁니다. 헤더 필드와 메시지 본문은 지워지지 않습니다.
응용프로그램이 메시지 등록 정보를 지울 경우 등록 정보는 읽기 및 쓰기가 가능해집니다.
응용프로그램은 등록 정보의 상태에 관계없이 언제든지 메시지 등록 정보를 지울 수 있습니다. 메시지 등록 정보가 읽기 전용일 경우 쓰기 가능한 등록 정보가 될 수 있는 유일한 방법은 응용프로그램이 먼저 등록 정보를 지우는 것입니다.
xmsINT getJMSDeliveryMode() const;
메시지 전달 모드를 가져옵니다. 전달 모드는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정됩니다.
아직 전송하지 않은 새로 작성한 메시지의 전달 모드는 XMSC_DELIVERY_PERSISTENT지만, 브로커에 대한 실시간 연결의 전달 모드는 XMSC_DELIVERY_NON_PERSISTENT입니다. 수신한 메시지의 경우, 수신 응용프로그램이 setJMSDeliveryMode()을 호출하여 전달 모드를 변경하지 않는 한 이 메소드는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정된 전달 모드를 리턴합니다.
Destination getJMSDestination() const;
메시지 목적지를 가져옵니다. 목적지는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정됩니다.
아직 전송하지 않은 새로 작성한 메시지의 경우, 전송 응용프로그램이 setJMSDestination()을 호출하여 목적지를 설정하지 않는 한 이 메소드는 널 Destination 오브젝트를 리턴하고 오류 코드가 XMS_E_NOT_SET인 예외를 처리합니다. 수신한 메시지의 경우, 수신 응용프로그램이 setJMSDestination()을 호출하여 목적지를 변경하지 않는 한 이 메소드는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정된 목적지에 대해 Destination 목적지를 리턴합니다.
xmsLONG getJMSExpiration() const;
만기 시간은 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정됩니다. 만기 시간 값은 전송 응용프로그램이 지정한 TTL(Time to Live)을 메시지 전송 시간에 더한 값으로, 이 만기 시간은 1970년 1월 1일 00:00:00 GMT 이후부터 밀리초 단위로 표시됩니다.
TTL(Time to Live)이 0일 경우 MessageProducer.send() 호출은 만기 시간을 0으로 설정하여 메시지가 만기되지 않음을 나타냅니다.
XMS 만기된 메시지를 버리고 이를 응용프로그램에 전달하지 않습니다.
For a newly created message that has not been sent, the expiration time is 0 unless the sending application sets a different expiration time by calling setJMSExpiration(). 수신한 메시지의 경우, 수신 응용프로그램이 setJMSExpiration()을 호출하여 만기 시간을 변경하지 않는 한 이 메소드는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정된 만기 시간을 리턴합니다.
String getJMSMessageID() const;
메시지의 메시지 ID를 가져옵니다. 메시지 ID는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정됩니다.
수신한 메시지의 경우, 수신 응용프로그램이 setJMSMessageID()를 호출하여 메시지 ID를 변경하지 않는 한 이 메소드는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정된 메시지 ID를 리턴합니다.
xmsINT getJMSPriority() const;
메시지 우선순위를 가져옵니다. 우선순위는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정됩니다.
아직 전송하지 않은 새로 작성한 메시지의 경우 전송 응용프로그램이 setJMSPriority()를 호출하여 다른 우선순위를 설정하지 않는 한 우선순위는 4입니다. 수신한 메시지의 경우, 수신 응용프로그램이 tJoSExPtn(tnoy을 호출하여 우선순위를 변경하지 않는 한 이 메소드는 메시지를 전송할 때 setJMSPriority() 호출에 의해 설정된 우선순위를 리턴합니다.
xmsLONG getJMSTimestamp() const;
메시지가 전송된 시간을 가져옵니다. 시간 소인은 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정되며, 1970년 1월 1일 00:00:00 GMT 이후부터 밀리초 단위로 표시됩니다.
아직 전송하지 않은 새로 작성한 메시지의 경우 전송 응용프로그램이 setJMSTimestamp()를 호출하여 다른 시간 소인을 설정하지 않는 한 시간 소인은 0입니다. 수신한 메시지의 경우, 수신 응용프로그램이 setJMSTimestamp()를 호출하여 시간 소인을 변경하지 않는 한 이 메소드는 메시지를 전송할 때 MessageProducer.send() 호출에 의해 설정된 시간 소인을 리턴합니다.
xmsVOID setJMSDeliveryMode(const xmsINT deliveryMode);
메시지를 전송하기 전에 이 메소드에 의해 설정된 전달 모드는 무시되며 메시지를 전송할 때 MessageProducer.send() 호출에 의해 대체됩니다. 그러나 이 메소드를 사용하면 수신한 메시지의 전달 모드를 변경할 수 있습니다.
xmsVOID setJMSDestination(const Destination & destination);
메시지를 전송하기 전에 이 메소드에 의해 설정된 목적지는 무시되며 메시지를 전송할 때 MessageProducer.send() 호출에 의해 대체됩니다. 그러나 이 메소드를 사용하면 수신한 메시지의 목적지를 변경할 수 있습니다.
xmsVOID setJMSExpiration(const xmsLONG expiration);
메시지를 전송하기 전에 이 메소드에 의해 설정된 만기 시간은 무시되며 메시지를 전송할 때 MessageProducer.send() 호출에 의해 대체됩니다. 그러나 이 메소드를 사용하면 수신한 메시지의 만기 시간을 변경할 수 있습니다.
xmsVOID setJMSPriority(const xmsINT priority);
메시지를 전송하기 전에 이 메소드에 의해 설정된 우선순위는 무시되며 메시지를 전송할 때 MessageProducer.send() 호출에 의해 대체됩니다. 그러나 이 메소드를 사용하면 수신한 메시지의 우선순위를 변경할 수 있습니다.
xmsVOID setJMSRedelivered(const xmsBOOL redelivered);
메시지가 전송되기 전에 이 메소드에 의해 설정된 재전달 표시는 메시지를 전송할 경우 MessageProducer.send() 호출에 의해 무시되며, 메시지를 수신할 경우 MessageConsumer.receive() 호출에 의해 무시되어 대체됩니다. 그러나 이 메소드를 사용하면 수신한 메시지의 재전달 표시를 변경할 수 있습니다.
xmsVOID setJMSTimestamp(const xmsLONG timeStamp);
메시지를 전송하기 전에 이 메소드에 의해 설정된 시간 소인은 무시되며 메시지를 전송할 때 MessageProducer.send() 호출에 의해 대체됩니다. 그러나 이 메소드를 사용하면 수신한 메시지의 시간 소인을 변경할 수 있습니다.