如何学习JMS

今天组长让我了解下jms,但以前从未接触过,所以想请教各位:

首先说下我现在所掌握的。
现在工作是从事jsf+spring+hibernate的开发,jboss作为服务器,不过都是已经配置好的,所以对jboss的了解可以说是零。
另外对struts2和javamail有所了解。基本就知道这些了。

现在问题是我都不知道jms是什么东西,我查了下入门的材料,上来就是代码,可我连那些包都不知道从哪里导入,还有很多术语都不明白,不知道jms提供者是什么东西,是不是jboss里包含了jms提供者?weblogic里也有?是不是我在程序里往jboss里发消息和取消息就是想jms提供者发消息和取消息?但是我发了之后保存到哪里去了呢?

谁有一个比较系统的教程啊? 我在学习jms前是不是要先了解下其他相关的东西呢?jms是不是一定要和EJB联系起来的呢?是不是我一定要先学EJB才能继续学JMS呢?

JMS(Java Message Service,Java消息服务)是一组Java应用程序接口(Java API),它提供创建、发送、接收、读取消息的服务.消息收发系统是异步的

Java消息服务支持两种消息模型:Point-to-Point消息(P2P)和发布订阅消息(Publish Subscribe messaging,简称Pub/Sub)。
  P2P消息模型是在点对点之间传递消息时使用。如果应用程序开发者希望每一条消息都能够被处理,那么应该使用P2P消息模型。与Pub/Sub消息模型不同,P2P消息总是能够被传送到指定的位置。

  Pub/Sub模型在一到多的消息广播时使用。如果一定程度的消息传递的不可靠性可以被接受的话,那么应用程序开发者也可以使用Pub/Sub消息模型。换句话说,它适用于所有的消息消费程序并不要求能够收到所有的信息或者消息消费程序并不想接收到任何消息的情况
示例代码:
InitialContext ic=new InitialContext();
queueConnectionFactory = (QueueConnectionFactory)ctx.lookup("javax.jms.QueueConnectionFactory");
queueConnection = queueConnectionFactory.createQueueConnection();
queue = (Queue) ctx.lookup("队列名称");
queueSession = queueConnection.createQueueSession(false,Session.AUTO_ACKNOWLEDGE);
queueSender = queueSession.createSender(queue);
queueSender.setDeliveryMode(DeliveryMode.PERSISTENT);
message = queueSession.createTextMessage();
message.setJMSPriority(3);
message.setText("The Message from myQueue");
queueSender.send(message);

不明白的话..你可以看看下面这个地址:
http://www.itisedu.com/phrase/200604261605045.html

先看看这本书,讲的是实现思想,jms是它的具体实现:

企业集成模式:设计、构建及部署消息传递解决方案

又名: Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions

译者: 荆涛 / 王宇
作者: Gregor Hohpe / Bobby Woolf
副标题: 设计、构建及部署消息传递解决方案
ISBN: 9787508341149
页数: 480
定价: 59.0
出版社: 中国电力出版社
装帧: 平装
出版年: 2006-3-1

这是一本有关使用消息传递进行企业集成的书。这本书并不只是介绍某种特别的技术或产品,而是为使用各种消息传递产品和技术的开发人员以及集成人员准备的。本书不会为企业应用集成建立商业案例,而是把重点放在如何实现应用的集成上。读者通过本书可以学会如何集成企业应用。.
  异步消息传递已证明是成功实现企业集成的最佳方案。但是,为了构建和部署消息传递解决方案,开发人员要面对大量的问题。本书提供了意义非凡的65种模式,并用真实的解决方案演示了消息传递的强大功能,可以帮助你为自己的企业设计出高效的消息传递解决方案。..
  本书还是一本有关各种消息传递或中间件技术的指南。在书中你可以找到采用不同技术(如JMS、MSMQ、TIBCO、BizTalk和XSL)的例子,这些例子能为读者演示如何把模式转换成真正的实现。