利用 WAS CE v2.1 创建基于 JMS 的应用
2009-11-11 00:00:00 来源:WEB开发网使用 JDBC 支持消息的快速持久化。
可以用于 Cluster、C/S 构架及 P2P(Peer-to-Peer) 的消息传递。
可以作为独立的 JMS 平台(无需应用服务器),适合单元测试。
作为 Apache 社区的顶级项目,ActiveMQ 还在不断发展。其良好的特性也为 WAS CE 增色不少。本文余下部分,将扩展前一篇文章中的示例,以阐释在 WAS CE 2.1 中 JMS 应用的开发流程。
示例
示例简介
在前一篇文章的示例中,作者假设了一个商店,应用程序只实现了用户登录和购买商品的功能。本文继续扩展这个示例,假设用户购买商品之后,商店还需要进行以下工作:
通知会计 (Accountant) 更新账目并且告知库房 (Storage) 准备出货
库房取货后通知运输队 (Transporter) 送货
显然,上述工作需要传递多个消息,如图 1 所示。
图 1. 示例流程图
示例中所需要的消息传递功能,可以使用 JMS 完成。
创建 JMS 资源
从图 1 可以看出,用户购买商品后,会计和库房都需要得到消息。这是一个消息发送者对应两个消息接收者的场景。根据 JMS 消息模型特性,这是一个“一对多”的消息发送方式,此处可以考虑使用发布/订阅模型。为此,需要定义一个 Topic,命名为 OrderTopic。然而,库房对运输队的通知则是明显的一对一消息发送,所以可以使用点对点消息发送模型。因此,需要定义一个 Queue,命名为 OrderQueue。
与前文定义一个数据源相似,JMS 也可以通过两种方式定义 JMS 资源:通过管理控制台创建和通过资源描述文件创建。在这里我们使用第二种方式,所以需要在 ShopEAR 中的增加文件:jms-resources.xml。jms-resources.xml 中定义 JMS 资源的片段见清单 1。
更多精彩
赞助商链接