Link Details

JMS stands for Java Message Service which is an API which is used by middleware service providers such as ActiveMQ, JBoss MQ, Rabbit MQ, etc. Its main purpose is to allow disparate systems to communicate based on a common platform. Which means that if I have my front end written in .Net and my back end written in Java for example, one way of communicating between the two (other than Webservices etc) is to use a JMS provider in a publisher-subscriber or peer-to-peer configuration.

Posted by mitchp  |   Dec 27 2012 / 08:42

Add your comment

Html tags not supported. Reply is editable for 5 minutes. Use [code lang="java|ruby|sql|css|xml"][/code] to post code snippets.


User 203717 avatar

chudak replied ago:

Except that Spring async task execution is not persistent or reliable. If you HAVE to have some task execute without regard to the system crashing then this approach is broken out of the box. For instance, your approach would not be a very good solution if that JMS message you are replacing with the Spring async annotation was logic to deposit a check into your checking account. If the system crashes in the middle of executing that logic you aren't going to be happy with the result.

Reply 0 votes
User 115898 avatar

nstuart replied ago:

Next up, a hammer does not screw in a nail, don't mess with it! Really this is just a different way to deal with the same problem. There is no reason JMS can't be used to handle Async tasks, you just prefer spring which fine, just loose the flame bait title.

Reply 0 votes
User 1096895 avatar

chetanrajan replied ago:

If for async operations reliability and guarantee is required then JMS should be used. There is one more option which can be considered for the same i.e. AKKA with Durable Mailboxes ,

Reply 0 votes

Recommended Links

Written by: Ryan Knight
Featured Refcardz: Top Refcardz:
  1. Apache Hadoop
  2. Play
  3. Akka
  4. Debugging JavaScript
  5. Design Patterns
  1. Apache Hadoop
  2. REST
  3. Java
  4. Git
  5. Java Performance
Connect with DZone