从消息队列中检索数据

问题描述:

public string WriteMsg(string strInputMsg) string strReturn =“”;从消息队列中检索数据

 try 
     { 
      MQQueue queue = null; 
      MQQueueManager QueueManagerName = null ; 

      QueueManagerName = new MQQueueManager("GRBAAQM"); 
      queue = QueueManagerName.AccessQueue(QueueName, MQC.MQOO_OUTPUT 
       + MQC.MQOO_FAIL_IF_QUIESCING); 

      message = strInputMsg; 
      queueMessage = new MQMessage(); 

      queueMessage.WriteString(message); 
      queueMessage.Format = MQC.MQFMT_STRING; 

      queuePutMessageOptions = new MQPutMessageOptions(); 
      queue.Put(queueMessage, queuePutMessageOptions); 

      strReturn = "Message sent to the queue successfully"; 
    } 

     catch (MQException MQexp) 
     { 
      strReturn = "Exception: " + MQexp.Message; 
     } 

     catch (Exception exp) 
     { 
      strReturn = "Exception: " + exp.Message; 
     } 

     return strReturn; 
     } 

    public string ReadMsg() 
    { 
     String strReturn = ""; 

     try 
     { 
      MQQueue queue = null; 
      MQQueueManager QueueManagerName = null; 

      QueueManagerName = new MQQueueManager("GRBAAQM"); 
      queue = QueueManagerName.AccessQueue(QueueName, MQC.MQOO_INPUT_AS_Q_DEF + 
       MQC.MQOO_FAIL_IF_QUIESCING); 

      queueMessage = new MQMessage(); 
      queueMessage.Format = MQC.MQFMT_STRING; 

      queueGetMessageOptions = new MQGetMessageOptions(); 
      queue.Get(queueMessage, queueGetMessageOptions); 

      strReturn = 

      queueMessage.ReadString(queueMessage.MessageLength); 
     } 

     catch (MQException MQexp) 
     { 
      strReturn = "Exception : " + MQexp.Message; 
     } 

     catch (Exception exp) 
     { 
      strReturn = "Exception: " + exp.Message; 
     } 

     return strReturn; 
    } 

这个计划这两个方法可以帮助我们来读取队列显示,但如何消息,而读消息从序列插入此功能,如果消息数已达到10

为什么只读你关心队列中有多少条消息? MQ不是数据库。如果消息在队列中,那么它应该被处理。如果您需要将消息分组在一起,请让发件人使用MQ的消息分组功能。

您是否阅读过有关MQ触发的知识?基于触发事件可以触发(启动)程序。即先触发,触发,每触发深度为&。