JMS (Java Message Service) is a Java API that allows java applications to communicate with other messaging implementations by creating, sending, receiving, and reading messages. It supports two models:
Java package "javax.jms" provides JMS api. To use JMS, one must have a JMS provider that can manage the sessions and queues. There are free, open source providers like Apache ActiveMQ, OpenJMS, JBoss Messaging etc and proprietary providers like BEA Weblogic, Oracle AQ etc.
Recommend the tutorial