一、JMS基本概念
1.1 P2P通信
1.2 Pub/Sub通信
二、JMS消息
三、JMS P2P编程
3.1 使用JMS QueueConnection对象
3.2 处理回退事件
3.3 关闭JMS对象
3.4 接收消息
3.5 消息驱动的Bean
3.6 消息持久化
3.7 消息选择器
四、JMS Pub/Sub编程
五、二阶段提交的事务
━━━━━━━━━━━━━━━━━━━━━━━━━━
EJB 2.0和J2EE 1.3规范开始提供对Java消息服务(JMS)的支持。在J2EE 1.3加入JMS之前,J2EE环境中的组件通过RMI-IIOP协议通信,J2EE是一个完全同步的平台。由于在J2EE 1.3规范中引入了JMS,J2EE环境开始具备一项极其重要的功能--异步通信。
● 说明:RMI-IIOP是Java远程方法调用(RMI,Remote Method Invocation)的一个兼容CORBA的版本,CORBA是Common Object Request Broker Architecture的缩写,即公用对象请求代理(调度)体系结构。RMI-IIOP通过CORBA平台和语言中立的通信协议发送RMI消息。
为了支持异步通信,J2EE 1.3规范还引入了一种新的EJB类型:消息驱动的Bean,即Message Driven Bean,简称MDB。如前所述,在JMS之前,J2EE原来是一个建立在Java RMI-IIOP通信协议基础上的同步环境,但MDB却具有接收异步消息的能力。
异步通信使得企业应用能够建立在一种全新的通信机制之上,它具有如下重要优点:
■ 异步通信程序不直接交换信息。由于这个原因,通信的任意一方能够在对方停止响应时继续自己的操作,例如当接收消息的一方不能响应时,发送方仍能够发出消息。