Name
JMSDeliveryMode — Purpose: Routing
Synopsis
There
are two types of delivery modes in JMS:
persistent and
nonpersistent. A persistent message should
be delivered
once-and-only-once, which means that a
message is not lost if the JMS provider fails; it will be delivered
after the server recovers. A nonpersistent message is delivered
at-most-once, which means that it can
be lost and never delivered if the JMS provider fails. In both
persistent and nonpersistent delivery modes the message server should
not send a message to the same consumer more than once, but it is
possible; see the section on JMSRedelivered
for
more details.
Note
The vendor-supplied client runtime and the server functionality are collectively referred to as the JMS provider. A “provider failure” generically describes any failure condition that is outside of the domain of the application code. It could mean a hardware failure that occurs while the provider is entrusted with the processing of a message, or it could mean an unexpected exception or halting of a process due to a software defect. It could also mean a network failure that occurs between two processes that are part of the JMS vendor’s internal architecture.
Persistent messages are intended to survive system failures of the JMS provider (the message server). Persistent messages are written to disk as soon as the message server receives them from the JMS client. After the message is persisted to disk the message server can then attempt to deliver the message ...
Get Java Message Service now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.