- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WEBSPHEREMQpractice.
WEBSPHERE MQ实践
最近以来,工作中一直在使用WebSphere的 MQ产品,切实感觉到MQ作为消息中间件,在消息传递方面的强大功能,本文将详细描述MQ通讯的原理,并结合实例向大家展示MQ在java开发方面的一些技巧,由于很少在网上看到关于MQ比较复杂一点的通讯实例,抛砖引玉,希望对大家有所帮助。
简介
WebSphere MQ是一种面向对象的消息中间件,用于异构应用之间的消息传递,应用程序通过MQ接口进行通讯, WebSphere MQ支持多协议消息通讯,可以最大限度地简化网络编程,同时MQ支持多种平台,对消息支持交易式的提交和回滚,是一款非常不错的产品。
本文首先将介绍MQ的通讯的一些知识,然后结合java开发实例,着重描述MQ在两个队列管理器的同步通讯过程,其中包括MQ的安装、配置、相关java代码开发等。
MQ基础知识
MQ的通讯过程中一般会用到这么几个组建:队列管理器、队列、通道,接下来就本文会使用到的一些基础感念做简单介绍。
消息
消息就是MQ通讯的内容,是应用程序之间传递的信息载体,消息(按照WebSphere MQ队列管理器启动后,是否仍然保持)分为持久消息和非持久消息,一般把异步通讯配置为持久消息,同步通讯配置为非持久消息,本文有些地方也将消息称为报文。
队列
队列就是消息的寄存器,在通讯时,消息被添加到队列中后发送出去。队列分为本地队列、远程队列、别名队列等,本地队列是当前队列管理器中需要配置的,区别于本地队列,远程队列是指向远程队列管理器中的本地队列,本地队列又分为本地初始化队列、传输队列、目标队列、死进队列等,初始化队列作为消息触发,传输队列用来暂存待传输的消息,如果消息没有发送出去,最终会存放在死进队列中。本文中主要本地初始化队列、本地传输和远程队列。
队列管理器
队列管理器也就是MQ的运行环境,维护和管理消息队列,向应用程序提供消息服务。应用程序连接到队列管理器的监听端口,访问队列管理器的队列,接收并发送消息,本文将建立2个队列管理器,模拟2个不同物理地址的MQ通讯,分别用来进行消息(报文)的发送端和接收端。
通道
通道是2个队列管理器之间的一种单向的点对点的通信连接。通道分为发送方通道、接收方通道、服务器连接通道等。消息通过发送方通道传递到目的队列管理器的接收方通道。发送方通道配置通道的时候需要选择通讯协议,本文将使用TCP协议。
MQ环境部署
由上边的图我们可以看到,MQ的消息发送和接收过程大致如下(如图中红色和黑色的箭头,分别代表发送实时报文和异步报文的发送过程):消息发送时,队列管理器A中,消息通过实时发送队列进行发送,并在实时发送传输队列进行缓存,然后通过实时发送方通道连接到队列管理器B,再通过传输队列的缓存,然后被实时接收方队列截获并处理,在队列管理器B的消息被处理过后通过实时发送队列返回处理结果,再通过实时传输队列的缓存和实时接收方通道的传递,最终被队列管理器A的实时接收队列捕获。
我们接下来也将模拟整个实时报文传递的过程:
整个过程需要配置的MQ组建如下:
首先:建立2个队列管理器A和B,一个作为客户端,进行消息的发送;另一个作为服务器端,截获并处理消息,本例中将他们配置在同一台电脑上进行测试,在实际生产环境中,可以将分别建立在不同的主机上。
然后:需要分别在各个队列管理器上建立如上图所示的队列,包括发送队列、接受队列、传输队列。同时为了区分异步环境下的消息发送过程,还可以建立批量发送队列,批量接收队列、批量传递队列。
其次:需要建立发送和接收方通道。
另:由于本文是通过java来连接MQ,并进行消息发送的,故此还需要在各个队列管理器上建立java的监听端口,和服务器连接通道,这样java程序就可以通过MQ的监听器端口连接到MQ上。
这样的话,我们把需要配置的MQ组建可以归纳如下:
需要配置的队列管理器
名称 描述 QM_TIPS_2027100000_01 作为客户端,进行报文发送 QM_TIPS_2600_01 作为服务器端,接收并处理报文
需要配置的队列
名称 作用队列管理器 类型 描述 PBC.202710000010.ONLINE.OUT QM_TIPS_2027100000_01 本地 实时消息接收队列 PBC.2600.ONLINE.TRAN QM_TIPS_2027100000_01 本地 实时消息传输队列 PBC.EXT.ONLINE.IN QM_TIPS_2027100000_01 远程 实时消息发送队列 PBC.202710000010.BATCH.OUT QM_TIPS_2027100000_01 本地 异步消息接收队列 PBC.2600.BATCH.TRAN QM_TIPS_2027100000_
文档评论(0)