09.12.2012 Views

Advanced Queuing - Oracle

Advanced Queuing - Oracle

Advanced Queuing - Oracle

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

General Features of JMS<br />

– Standard properties - JMS defines some standard properties that are in<br />

effect, optional header fields.<br />

– Provider specific properties - every JMS provider can add certain providerspecific<br />

properties to a message<br />

– Application-specific properties - this provides a mechanism for adding<br />

application specific header fields to a message<br />

Body - this is the message payload. JMS defines various types of message<br />

<br />

payloads, and a type that can store JMS messages of any or all JMS-specified<br />

message types.<br />

Message Headers<br />

You can use a header-only JMS message. A message body is not required. The<br />

message header contains the following fields:<br />

JMSDestination - this field contains the destination to which the message is<br />

<br />

sent. In AQ this would correspond to the destination queue/topic.<br />

JMSDeliveryMode - JMS supports two modes of message delivery -<br />

<br />

PERSISTENT (where messages are logged to stable storage) and NON_<br />

PERSISTENT (messages not logged). <strong>Oracle</strong> AQ supports persistent message<br />

delivery.<br />

JMSMessageID - this value uniquely identifies a message in a provider. All<br />

<br />

message ids must begin with ID:.<br />

JMSTimeStamp - contains the time the message was handed over to the<br />

<br />

provider to be sent. This maps to AQ message enqueue time.<br />

JMSCorrelationID - this field can be used by a client to link one message<br />

<br />

with another.<br />

JMSReplyTo - this field contains a Destination supplied by a client when a<br />

<br />

message is sent. Clients can use the following types to specify the ReplyTo<br />

destination: oracle.jms.AQjmsAgent; javax.jms.Queue;<br />

javax.jms.Topic.<br />

JMSType - this field contains a message type identifier supplied by a client at<br />

<br />

send time. For portability it is recommended that the JMSType be symbolic<br />

values.<br />

JMSExpiration - In non-J2EE compliance mode, the JMSExpiration header<br />

value is the sum of the enqueue time and the time-to-live. In compliant mode,<br />

the JMSExpiration header value in a dequeued message is the sum of the<br />

12-22 <strong>Oracle</strong>9i Application Developer’s Guide - <strong>Advanced</strong> <strong>Queuing</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!