Message
Delivery Modes
The JMSDeliveryMode message header field defines
the delivery mode for the message. JMS supports PERSISTENT and NON_PERSISTENT
delivery modes for both topic and queue. EMS extends these delivery modes to
include a RELIABLE_DELIVERY mode.
PERSISTENT
When a producer
sends a PERSISTENT message, the producer must wait for the server to reply with
a confirmation. The message is saved on disk by the server. This delivery mode
ensures delivery of messages to the destination on the server in almost all
circumstances. However, the cost is that this delivery mode incurs two-way
network traffic for each message or committed transaction of a group of
messages.
NON_PERSISTENT
Sending a NON_PERSISTENT message omits the overhead of
storing the message on disk to improve performance. If authorization is
disabled on the server, the server does not send a confirmation to the message
producer. If authorization is enabled on the server, the default condition is
for the producer to wait for the server to reply with a confirmation in the
same manner as when using PERSISTENT mode.
RELIABLE_DELIVERY
EMS extends the JMS delivery modes to include reliable
delivery. Sending a RELIABLE_DELIVERY message omits the server confirmation to
improve performance regardless of the authorization setting.
When using
RELIABLE_DELIVERY mode, the server never sends the producer a receipt
confirmation or access denial and the producer does not wait for it. Reliable
mode decreases the volume of message traffic, allowing higher message rates,
which is useful for messages containing time-dependent data, such as stock price
quotations.
No comments:
Post a Comment