学习JMS的缘由
1:Springside宽广知识面与作者对软件思想理解的刺激;
2:J2EE5规范中JMS是其中一个内容;
3:在做的项目中做ETL后台服务的时候觉得对异步执行应该有更好的方案
什么是JMS
Java Message Service 是java体系中面向消息服务的一组API,用于分布式系统间异步信息交换。
所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果
JMS能带来什么好处
1:可以集成多种语言设计的应用;ActiveMQ是一个用java编写的应用,用于消息交换。提供了主流编程语言的API用来接收和发送信息。
2:异步调用,主程序不同等到调用程序结束就可以执行其他运算,只需要向调用程序发送一个信息。加快系统反应速度,提高用户体验。
3:解耦,系统间无依赖关系。事件驱动,每个服务功能单一,服务间并发执行,提高系统性能。
4:SOA 面向服务架构,水平扩展,允许增加新的服务器。
JMS有哪些概念理解
1:JMS Provider
Jms的服务器,用于收集其他客户端发来的消息并分发出去。
目前有多种支持,受Springside的影响接受了activeMQ. J2EE体系中默认的服务器是什么呢,为什么会要各种第三方支持呢,这点搞不明白。
2:ConnectionFactory
根据第三方的JMS Provider获得,用户创建与JMS Provider的连接Connection。
3:Connection
用于管理本地与JMS Provider之间的连接
4:Session
用于JMS Provider和本地之间的数据交换,可以用于获得消息的发送服务,接受服务,可以创建消息。
5:MessageProducer
MessageProducer从Session获得,可以将消息发送给Destination
6:MessageConsumer
从Session获得,用于从Destination获得消息
7:Destination
可以是信息发送方,也可以是信息接收方
8:queue browsers
用于浏览查看队列中的信息
参考文档
ActiveMQ+jms实战.doc
http://www.open-open.com/doc/view/16c2fab0407c487c85d09baf96f666fd
JMS 详细教程
http://www.open-open.com/doc/view/de7e8a3ae02848f1928260d4b6817bb5
为什么要使用JMS
http://www.doc88.com/p-408269840668.html