zoukankan      html  css  js  c++  java
  • MQSeries::Message 面向对象接口的MQSeries messages

    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(/
    +/, $message)) {
              syslog("err", $line);
          }
      }
    
    Data:
    
    
    这个方法 是用于设置或者查询数据结构的值。如果 指定了参数,然后指定了数据被分配作为这个对象的数据值。
    
    如果没有参数给定,当前的消息值被返回
    
    
    数据可以是任意的perl数据结构,然而,它必须可变化为一个scalar通过 PutConvert and GetConvert hooks
    
    
    MsgDesc
    
    这个方法可以用于查询 MsgDesc data structure.
    
    如果没有给定参数, 整个MsgDesc  hash 被返回,如果 一个单独的参数给定,
    

  • 相关阅读:
    js 修改 title keywords description
    添加第一次进入网站动画
    懒加载
    一些正则
    对图片进行剪切,保留原始比例
    JS判断是否是微信页面,判断手机操作系统(ios或android)并跳转到不同下载页面
    判断网页是否再微信内置浏览器打开
    数字转汉字大写
    java 反射机制 之 getConstructor获取有参数构造函数 然后newInstance执行有参数的构造函数
    web实训项目(快递e栈)-----04项目实现的基本流程
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349853.html
Copyright © 2011-2022 走看看