JMS Reliability versus Performance

There are several ways to configure a JMS messaging scheme based on the level of reliability desired. The chosen configuration directly affects system performance.

In general, trading reliability for performance is one way to improve system throughput. But make no mistake: It's a dangerous game to play when the messages are important. If the nature of your application is such that consumption of every message is critical, there's no avoiding the reliability controls that JMS provides.

There are two major controls in the reliability versus performance debate: client acknowledgment and message persistence.

Client Acknowledgment

When JMS messages are sent, they can be part of a transaction or not, that is, nontransacted. ...

Get Building Scalable and High-Performance Java™ Web Applications Using J2EE™ Technology now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.