Пример #1
0
        /// <summary>
        /// Retrieve message from the MQSeries's queue
        /// </summary>
        /// <returns></returns>
        public Message Retrieve()
        {
            //create a new message
            MQMessage           message       = (MQMessage)queueSession.AccessMessage();
            MQGetMessageOptions messageOption = (MQGetMessageOptions)queueSession.AccessGetMessageOptions();

            //fill the new message object with message from he queue
            //unlike MSMQ, GET is not a blocking call, instead, it raise
            //an exception if trying to retrieve message from a queue that is emtpy.
            queue.Get(message, messageOption, System.Reflection.Missing.Value);


            //create a new message object that contains the
            //message from the queue.
            Message m = new Message();

            m.Content = message.ReadString(message.MessageLength);
            m.Label   = message.MessageId;
            return(m);
        }