blob: a23fdccb41efc46b7cffc71551f6bdd18bf9bce2 [file] [log] [blame]
<div class="wiki-content maincontent">
<p>Certainly they both do similar things. The main difference between them is their history and design criteria. </p>
<p>JMS has a bunch of different qualities of service (durable v non-durable, queue v topic) designed for very high performance messaging with low latency together with reliability. Email is designed for connectivitiy on the web. So they have different design trade offs. e.g. its not a big deal to get multiple copies of an email (which I get fairly often if I loose a connection with an email server over POP for example). It would be a major disaster to get 2 copies of the "remove $1000 from my bank account" messages <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5997/6f42626d00e36f53fe51440403446ca61552e2a2.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)"></p>
<p>The main reasons for using JMS is performance (throughput &amp; latency), together with support for transactions &amp; XA together with avoiding duplicates and message loss.</p></div>