MQSeries::Message 面向对象接口的MQSeries messages
2017-03-02 09:00
337 查看
MQSeries::Message 面向对象接口的MQSeries messages use MQSeries qw(:functions); use MQSeries::Message; # # Create a vanilla MQSeries::Message object for getting messages 创建一个普通的MQSeries::Message object 用于get 消息 # my $getmsg = MQSeries::Message->new(); # # Create a message for putting strings, which requires the # MQMD.Format field to be specified. This is essential for # character codeset conversion. #创建一个消息用于输入字符串, 需要 MQMD. 格式字段被指定。 my $putmsg = MQSeries::Message->new ( MsgDesc => { Format => MQSeries::MQFMT_STRING, }, ); # # Create a reply message, copying the CorrelId from the MsgId of a # request. This reply is also a string. # my $request = MQSeries::Message->new(); # Assume we get the message via an MQSeries::Queue object... my $reply = MQSeries::Message->new ( MsgDesc => { Format => MQSeries::MQFMT_STRING, CorrelId => $request->MsgDesc("MsgId"), }, ); 描述: MQSeries::Message object 是一个00 机制来创建 MQSeries messages, put和get 它们到MQSeries queues, 提供一个接口 比完整的MQI 简单 这个模块是结合MQSeries::QueueManager, MQSeries::Queue and MQSeries::Properties 那些对象提供了 MQI的子集,通过一个简单的接口: 方法: new 构造函数的参数是一个hash, 遵循 key/value 对(没有必要的键) Key Value === ===== Data Scalar BufferLength Positive Integer MsgDesc MQI MsgDesc hash (MQMD structure) Carp CODE reference Data: 当创建一个消息放入到一个队列, Data应该被指定。 这个必须是一个简单的 scalar 值, 其他的MQSeries::Message 子类支持直接的编码复杂数据结构, 比如PERL 引用可以发送和检索作为MQSeries messages 使用MQSeries::Message::Storable module. Data 方法将设置Data 消息部分 如果它是传递任何定义的值, 会简单的返回数据。因此,要清楚任何消息中的数据,传递空的字符串就行 $message = MQSeries::Message->new( Data => "foo" ); $message->Data(""); # Clears Data value entirely 为了 查询数据值, 方法必须被调用没有进一步参数: $data = $message->Data(); # Returns Data unmolested Buffer 这个方法 会返回raw, 转换后的缓冲区.这个真的先关的 一个消息类型 ,使用一个 PutConvert and/or GetConvert 方法 来转换raw buffer BufferLength: 这个设置 消息的BufferLength 被提取使用MQGET. 默认是32K, 如果 消息是从队列接收是很大的,这个必须适当的设置 MsgDesc 这个key 是值是一个hash 引用 设置 MsgDesc 键/值,查看""MQSeries Application Programming Reference"文档 对于可能的keys和MQMD结构的值 此外, 查看示例章节对于特定的使用功能。 这是一个API的一个区域 不容易被隐藏,你必须知道你在做什么 Carp 这个key 指定一个代码引用到一个函数来替换carp()所有的请求, 允许API 的用户来捕获和处理所有的错误消息,或者简单的改变他们如何登陆 For example, one might want everything to be logged via syslog: sub MyLogger { my ($message) = @_; foreach my $line (split(/\n+/, $message)) { syslog("err", $line); } } Data: 这个方法 是用于设置或者查询数据结构的值。如果 指定了参数,然后指定了数据被分配作为这个对象的数据值。 如果没有参数给定,当前的消息值被返回 数据可以是任意的perl数据结构,然而,它必须可变化为一个scalar通过 PutConvert and GetConvert hooks MsgDesc 这个方法可以用于查询 MsgDesc data structure. 如果没有给定参数, 整个MsgDesc hash 被返回,如果 一个单独的参数给定,
相关文章推荐
- 面向对象设计原则六 - 针对接口编程,而不是针对实现编程
- 对php面向对象接口的认识和理解
- Java学习系列(五)Java面向对象之抽象类、接口、内部类、枚举类详解
- php学习笔记 面向对象中[接口]与[多态性]的应用
- 面向对象继承,接口的实现
- [设计模式]面向对象设计原则之接口隔离原则
- java学习日记_43:面向对象之接口
- oc 面向对象特性(接口,实现,方法发送,访问成员变量)
- 面向对象设计原则六 - 针对接口编程,而不是针对实现编程
- 20141014C#面向对象抽象方法,抽象类,接口
- 6、面向对象以及winform的简单运用(抽象基类与接口)
- 3.java面向对象语法学习(部分2-抽象类,接口,内部类)
- 黑马程序员——Java面向对象之抽象类 接口 内部类笔记
- 第一节:从面向对象思想(oo)开发、接口、抽象类以及二者比较
- php学习笔记 面向对象中[接口]与[多态性]的应用
- 面向对象进阶 08 接口
- 接口 多态 instanceof 面向对象
- 27-JAVA面向对象-接口
- 面向对象中的类和接口的理解
- Java面向对象之抽象类和接口