2017-01-16 6 views
-1

公開ストリングWriteMsg(文字列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; 
    } 

このプログラムではこれらの2つの方法は、キューやディスプレイからメッセージを読み取ることが、キューからのメッセージを読みながら、この機能を挿入する方法、メッセージ数が10

答えて

1

なぜに達している場合にのみお読み私たちを助けどのくらいのメッセージが待ち行列に入っているか気にしていますか? MQはデータベースではありません。メッセージがキューに入っている場合は、それを処理する必要があります。メッセージをまとめてグループ化する必要がある場合は、送信者にMQのメッセージグループ化機能を使用させます。

MQトリガーについてお読みですか?トリガーイベントに基づいてプログラムをトリガー(開始)することができます。すなわちトリガーファースト、トリガー - すべて&トリガー深さ。