Name
JMSDeliveryMode — Purpose: Routing
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 to its ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access