快捷搜索:  as  2018  FtCWSyGV  С˵  test  xxx  Ψһ  w3viyKQx

澳门新葡亰集团:Websphere编程之路MQ编程初探



IBM Websphere MQ 编程主要有两部分:一是 MQ 系统治理编程;一是 MQ 利用开拓编程。

1、 MQ 编程概述

IBM Websphere MQ 编程主要有两部分:一是 MQ 系统治理编程;一是 MQ 利用开拓编程。

MQ 系统治理编程:

所谓的 MQ 系统治理编程是指应用 MQ 供给的编程接口,体例特定的利用法度榜样,来进行对 MQ 各类工具的监控和治理,如:查询通道的状态、行列步队的深度等运行时状态,查询行列步队治理器的属性,行列步队的属性或通道的属性等静态参数;以及对 MQ 进行各类操作,如:启动 / 竣事通道,创建 / 删除各类工具,改动各类工具的属性等。

实际上, MQ 为我们供给了多种系统治理的手段,此中包括:

使用 MQ 的图形治理界面进行操作、监控和治理: MQ澳门新葡亰集团 资本治理器为用户供给了优越的治理界面,从而方便用户对中心件系统的设置设置设备摆设摆设和治理事情,经由过程 MQ 资本治理器,用户可以定义、改动、删除中心件的各类资本、工具,不雅察各类工具的属性,监控各类工具的运行状态;

使用 MQSC 敕令,经由过程敕令行的要领对 MQ 进行操作、监控和治理,尤其值得一提的是 MQSC 敕令在各个平台上都是相同的,在一个有多少平台共存的系统中大年夜大年夜地方便和简化了系统治理的事情。

经由过程特定的系统治理对象进行监控和治理, MQ 不仅自身供给了 GUI 和文本化监控对象来监测和显示工具的状态 , 并且能够使用种种系统治理软件对全部收集运行状况实施监控;如 Tivoli Manager for MQ 便是一个功能强大年夜的综合治理对象:它为节制消息和利用法度榜样框架供给了一个集中治理平台。它捕获和显示 MQ 的事故,并能发明新的行列步队治理器以及响应的工具,这些工具可以经由过程中央节制台进行定义和设置设置设备摆设摆设。除此之外,许多第三方厂家也供给有类似的治理对象。

除了以上这三种治理手段之外, MQ 还供给了系统治理的编程接口,经由过程该接口用户可以编写利用法度榜样从而进行自动化的实时监控及治理。 MQ 的系统治理接口有两种,即 Programmable Command Format (可编程敕令款式,简称 PCF )和 MQ Administration Interface ( MQ 治理接口,简称 MQAI )。

MQ 利用开拓编程:

MQ 的利用开拓编程主如果指应用 MQI , AMI , ActiveX 编程接口来进行消息的发送和吸收以及相关的利用开拓的事情。

MQI 即 Message Queue Interface :

它供给的根基而富厚的编程接口,而且也供给了最周全的操作组。。它的应用对照广泛,支持大年夜部分平台和法度榜样说话。

比如:操作系统支持 AS/400 、 SunOS 、 AIX 、 Windows 等,编程说话支持 C 、 C++ 、 VB 、 PL/I 、 COBOL 、 RPG 、 Delphi 等。

MQI 可以用来处置惩罚:

连接和断开连接一个行列步队治理器

打开和关闭行列步队工具

发送、浏览和得到消息

查询和设置工具属性

事务处置惩罚治理

消息分组

AMI 即 Application Message Interface :

其可向法度榜样员供给一种可以用于处置惩罚行列步队治理器工具异常简单的接口。使用 AMI ,法度榜样员不必深入懂得所有 MQI澳门新葡亰集团 调用,他们只要专注于利用法度榜样的商业逻辑即可。这就意味着在编程时呈现的差错更少,具有更高的处置惩罚营业及技巧改变的机动性。 AMI 削减了编写新利用法度榜样所需的代码数量。

可采纳以下要领发送和接管消息 AMI :

发送 - 遗忘,不必要回覆

分配表,将消息发送到多个目的地

哀求 / 回覆,发送消息的利用法度榜样必要哀求消息的回覆

宣布 / 预订,由代理治理消息的分配

2、 MQ Delphi 开拓

因为网上关于 MQ 的开拓资料对照少,在近来的一个项目中,有人必要用 MQ 来做开拓,因为多 MQ 的编程不是很懂得,以是不知道 Delphi 和 MQ 之间是若何关澳门新葡亰集团联的。

在 MQ 的编程模式中,今朝我查证的资猜中,只有 MQI 是支持 Delphi 开拓的,别的因为 Delphi 的第三方组件也对照多,美国有一家公司供给了一个 Delphi for MQ 的组件,应用起来异常简单,可惜该组件必要收费。

Delphi 采纳了 MQI 接口,官方也供给了文档指示

http://www-1.ibm.com/support/docview.wss uid=swg24007060 ,文档阐清楚明了 Delphi MQI 的 API 接口和 C 的类似,官方的编程 MQI 编程指示手册对付 Delphi 同样也很适用。在 C 说话中应用了指针并且应用了别的一种定义字符串长度的要领,便是在结尾处用 #0 做标记;在 Pascal 中, @ 操作符被用来通报指针的值。

3、 实例

MQI 的编程用的最多的主如果 13 个常见函数的调用:

MQCONN

MQCONNX

MQDISC

MQOPEN

MQCLOSE

MQPUT1

MQPUT

MQGET

MQINQ

MQSET

MQBEGIN

MQCMIT

MQBACK

MQCONN 演示

本日展示的一个实例便是演示成功的打开对行列步队治理器进行连接,并进修一些相关的观点。

系统情况: Win2000 Pro + SP4, MQ5.3,Delphi7

Delphi中必要创建一个窗体,一个Memo,一个Button

procedure TForm1.btnCoonClick(Sender: 澳门新葡亰集团TObject);

var

Hconn : MQHCONN; //连接句柄

CompCode, Reason : MQLONG; //完成代码,缘故原由代码

QMgrName : string; //行列步队治理器的名字,这里没有用MQ的自定义类型变量

begin

QMgrName := 'DMQ';//

MQCONN ( PChar(QMgrName),

// pchar相称于C里面的char *,以#0结尾,但在应用中不必为它分配内存

HConn,

Compcode,

Reason);

{CompCode有四种状态:

MQCC_OK = 0;

MQCC_WARNING = 1;

MQCC_FAILED = 2;

MQCC_UNKNOWN = -1;

}

if CompCode = MQCC_FAILED then

begin

Memo1.Lines.Add('连接掉败');

Memo1.Lines.Add('连接的行列步队治理器的名字是:'+QMgrname);

Memo1.Lines.Add(IntToStr(Reason));

end;

if CompCode = MQCC_WARNING then

begin

Memo1.Lines.Add(澳门新葡亰集团'警告');

end;

if CompCode = MQCC_OK then

Memo1.Lines.Add('连接成功');

end;

看看,着实很简单吧?下次我们在钻研其他的函数,来进行MQ的消息发送和得到的演示。

您可能还会对下面的文章感兴趣: