下载此文档

mq-c api编程word版.doc


文档分类:IT计算机 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
++ API编程
现在,我们将阐述如何利用上述API 来实现基本的WebSphere MQ 操作,如连接到队列管理器、打开一个队列或发送/接收消息。

为了连接到队列管理器,我们将使用ImqQueueManager 类(它包括WebSphere MQ 队列管理器对象)。队列管理器名可以由构造器调用提供,也可以用ImqQueueManager 类的setName 方法来提供。
ImqQueueManager qmanager;
(name);
或者
ImqQueueManager *pmanager = new ImqQueueManager(name);
提示:我们在本章其余部分中都将用到qmanager 对象。而后,我们可以利用ImqQueueManager 的连接方法来建立连接。
();
队列管理器的信息可以利用ImqQueueManager类来访问。
MQ对象
我们可以根据对象是队列还是其他类型的对象,然后利用ImqObject 或ImqQueue 类来打开WebSphere MQ 对象。一般来说,我们都会使用ImqQueue 类,除非必须要查询或设定某些对象属性。
打开队列
ImqQueue 类包括WebSphere MQ 队列对象,并向队列对象行为添加了某些信息。在可以对队列进行任何放置或获取操作前, 必须利用ImqQueue 类的setConnectionReference 方法将包含队列的队列管理器分配给ImqQueue 对象。
ImqQueue pqueue;
(pmanager);
可在对象构建过程中提供队列名,也可以利用ImqObject 类的setName 方法提供队列名。
(queuename);
当发出放置或获取调用时,将自动采用要求的选项打开队列,也就是说,不需要进行显式打开操作。如果实际的打开选项不符合在队列上进行操作的要求的话,那么ImqQueue对象就会关闭并重新打开队列。
在某些情况下,根据被打开队列的类型,将会导致一些额外的开销或某些问题。为了避免自动关闭和重新打开队列,我们必须利用ImqObject 类的openFor 方法或setOpenOptions 直接设置打开选项。我们也可以利用ImqObject 类的打开方法显式打开队列,但是如果打开选项已经指定的话,那么较之于这种接口提供的隐式打开,它并不能提供什么重大优势。
(MQOO_OUTPUT | MQOO_INPUT_SHARED);
或者
(MQOO_OUTPUT | MQOO_INPUT_SHARED);
openFor 方法不断添加指定的打开选项到实际分配给对象的选项。ImqQueue 对象的默认打开选项是MQOO_INQUIRE。
打开动态队列
动态队列不能通过重新打开方式自动关闭,因为对动态队列进行关闭操作会删除该队列。因此,打开动态队列时,我们必须指定打开选项。
队列模型的名由ImqObject 类的setName 方法指定,动态队列名或其前缀可以用ImqQueue 类的setDynamicQueueName 方法确定。动态队列的实际名可以在队列打开后用dynamicQueueName 方法获得。
(dynamicqueuename);
打开分布列表
分布列表由ImqDistributionList 类进行管理,它继承自ImqQueue 类。可以利用ImqQueue 类的setDistributionReference 方法将任意数量的ImqQueue 对象和一个ImqDistributionList 对象关联起来。
在打开分布列表之前,相关联的队列必须分配到队列名和包含队列的队列管理器,下面提供了一个打开分布列表的例子:
ImqDistributionList dlist;
ImqQueue queueA, queueB;
ImqString queueManagerName(());
(pmanager);
(pmanager);
(queuename1);
(queuename

mq-c api编程word版 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人精品小课件
  • 文件大小77 KB
  • 时间2021-02-26
最近更新