JMS消息处理(一):面向消息的架构和JMS概述;面向消息的应用框架;JMS的基础知识和优势;JMS消息机制模型两大类;WebLogic安装

利用JMS实现企业消息处理:体现分布式系统
企业级应用程序通常需要在不同组件之间进行通讯,大部分时候,这种通信已同步的方式进行,比如一个应用组件调用另一个应用组件的方法,
	但这种同步方式的调用往往具有一些天性的不足。再这样的背景下,企业级应用又提出了一种新的通信方式;
	面向消息的通讯,在这种通信方式下,应用程序中的一个组件把消息发送到指定的消息目的,另一个组件则从指定的消息目的获取消息。
	这种基于消息的通讯方式不需要两个组件直接耦合,它们甚至可以相互不知道;
	这种通信方式既可以是同步的通信也,可以是异步的通信,因此具有很好的适应性

JavaEE为企业应用之间的消息机制提供了JMS规范,Java提供的JMS规范同样具有简单,易用的特征,
	不管应用服务器底层提供何种消息机制实现,对开发者来说,他们只要面向Java提供的JMS API编程即可。
	因此使用JMS API消息通信机制有很好的移植性,应用程序可以非常方便地在不同消息机制实现的应用服务器上移植

JavaEE的消息支持除了有JMS之外,还有MDB(Message Driven Bean)而且JMS和MDB通常会结合使用。
	一般来说,应用程序的普通组件将消息发送到指定消息目的,而MDB则负责监听对应的消息目的,
	当该消息目的有消息抵达时,MDB就会自动被触发,接受并处理消息。
1.面向消息的架构和JMS概述
RMI技术允许两个分布在不同物理节点上的组件直接以方法调用的方式进行通信,
	除此之外,还有CORBA(Common Object Request Broker Architecture,通用对象请求代理架构),Web Service等,
	它们都可实现大致相似的功能。担当面对规模和复杂度越来越高的系统时,这些技术也存在如下不足。
	
		1.同步通信:同步通信的意思是客户端调用服务器端对象的方法之后,在服务器端方法返回之前,客户端程序无法向下执行
		2.客户端和服务器端的生命周期耦合:客户端的调用代码和服务器端的被调用方法必须同步执行,而且两段代码都必须可以正常执行。
			如果服务器端的被调方法出现异常或网络通信出现异常,客户端代码都将收到异常
		3.点对点通信:客户端每次只能调用一个服务器的方法
		
为了解决上面所存在的不足,出现了一种面向消息的应用程序架构,他让"客户端组件"和"服务端组件"以完全耦合的方式相互调用。
	这里所说的"客户端组件"和"服务端组件"其实并不准确,因为面向消息架构的两个组件是完全平等的,
	这里所说的"完全耦合"意味着两个组件之间没有任何关联,甚至无需知道对方是否存在
1.1面向消息的应用框架
消息是不同应用程序之间,或同一个应用程序的不同组件之间的通信方法。
	当一个应用程序或一个组件(该组件被称为生产者)将消息发送到指定的消息目的之后,该消息可以被一个或多个组件(这些组件被成为消费者)读取并处理

对于面向消息的应用架构来说,消息生产者与消息消费者之间完全隔离,消息生产者只负责将消息送到消息目的,
	至于该消息的处理细节则是消息消费者应该关心的,同样的,消息消费者也只面向消息目的,
	消息消费者从消息目的的读取并处理消息。消息生产者和消息消费者双方无需相互了解,他们只要了解交换的消息格式即可

消息机制实现了"完全解耦",消息生产者和消息消费者完全隔离,因此更加灵活。面向消息架构需要面向消息服务器的支持,
	消息服务器的作用类似与邮件服务器或BBS服务器,消息生产者将消息发送到消息服务器,消息服务器使用消息队列来保存消息,
	而消息消费者则通过消息队列来一次读取每条信息,这就是典型的PTP(Peer To Peer,点对点,例如电子邮件)模型,
	对Pub-Sub(Publish/Subscribe,发布/订阅,例如发帖)模型而言,消息生产者将消息发送到消息服务器的指定主体,
	而消息服务器则将该消息转发到订阅给主题的每个消息的消费者

消息中间件的发展非常迅速,在分布式事务处理环境中,它往往能够充当通信资源管理(CRM)的角色,
	为分布式应哟更提供实时,高效,可靠,跨操作平台,跨网络系统的消息传递服务,同时消息中间件减少了开发跨平台应用程序的复杂性。
	要求可靠传输的系统中可以利用消息中间件作为一个通信平台,向应用程序提供可靠传输功能来传输消息和文件
1.2JMS的基础知识和优势
JMS是java Message Service的缩写,即Java消息服务,JMS是JavaEE技术规范中的一个重要组成部分,它是一种企业消息处理的规范。
	JMS的作用就像一个智能的交换机,它负责路由分布式应用中个组件所发出的消息。

JMS提供了一组通用的Java应用程序接口(API),开发者可以通过这种通用的API来创建,发送,接收,读取消息,
	JMS是一种与集体实现厂商无关的API,它的作用类似于JDBC;不管底层采用何种数据库系统,
	应用程序总是面向通用的JDBC API编程:类似的,JMS则提供了与各厂商无关的API,不管底层采用和中消息服务器实现,
	应用程序总是面向通用JMS API编程。借助于JMS的帮助,开发者无需为使用A消息服务器产品先学习一次,使用B消息服务器产品又要重新学习一次。

开发者无须理会各种消息服务器底层的差异,直接面向JMS API编程即可

JMS主要用于分布式应用的各组件之间的通信,他不仅使应用组件之间的通信变得更加松耦合,而且还具有如下优势:
	1.消息采用异步处理机制,避免客户机等待
	2.JMS可以吃界的保存消息,因而提高系统的可靠性
	3.JMS允许一条消息发送给多个接收者,这与传统的方法调用有很大的不同,能更好地提高效率

消息采用异步机制可以保证消息生产者快速响应,当消息生产者发出一个消息之后,它无需等待任何回应即可向下执行,
	这与传统的RPC(Remote Procedure Call)不同。

在传统的RPC编程模型中,客户及调用服务器上某个分布式对象的方法之后。在方法返回之前,客户机线程被阻塞,
	直到远程被调方法成功返回为止。在JMS系统中。消息生产者将消息发送到一个消息目的(既可以是消息主题,也可以是消息队列),
	而消息消费者则监听或者订阅这个消息目的——消息生产者和消息消费者并不直接打交道,因此消息生产者无需等待消息消费者的任何响应,
	因而消息生产者也无需阻塞自己的线程来等待消息消费者
	
根据上面介绍,不难发现JMS架构大致可分为如下组成部分:
	1.JMS服务器,路由消息的服务系统。通常来说,商业应用服务器都可提供JMS服务器支持。也就是说,应用服务器通常包括JMS服务器
	2.JMS生产者:服务创建并发送消息的程序组件
	3.JMS消费者:负责读物并处理消息的程序组件
JMS消息机制模型主要分为两大类
	1.点对点(PTP)模型:这种消息处理模型为应用中的各个逻辑处理单元提供可靠的通信支持。
		在PTP通信中,JMS把每一个消息传递给一个消息消费者。JMS系统保证消息传递给消息消费者,消息不会同时被多个消费者接收。
		如果消息消费者暂时不在连接范围内,JMS会自动保证消息不会丢失,直到消息消费者进入连接,消息将自动送达,
		因此,JMS需要将消息保存到永久性介质上,比如数据库或文件

	2.发布/订阅(Pub-Sub)模型:在这种模型中,每个消息被发送到一个消息主题,
		该主题可以拥有多个订阅者,JMS系统负责将消息的副本传给该主题的每个订阅者
2.1.1安装Weblogic
下载安装包后
安装方式:java -jar fmw_12.1.3.0.0_wls.jar,就可执行安装 支持JDK1.7

安装参考:https://blog.csdn.net/yiyiwudian/article/details/40382709

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值