Link Details

Link 897033 thumbnail
User 478055 avatar

By mitchp
Published: Dec 27 2012 / 08:42

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.
  • 9
  • 4
  • 1072
  • 1522
User 203717 avatar

chudak replied ago:

0 votes Vote down Vote up Reply

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.

User 115898 avatar

nstuart replied ago:

0 votes Vote down Vote up Reply

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.

User 1096895 avatar

chetanrajan replied ago:

0 votes Vote down Vote up Reply

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 ,

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.

Apache Hadoop
Written by: Piotr Krewski
Featured Refcardz: Top Refcardz:
  1. Play
  2. Akka
  3. Design Patterns
  4. OO JS
  5. Cont. Delivery
  1. Play
  2. Java Performance
  3. Akka
  4. REST
  5. Java