JMS and MSMQ
.pdfMSMQ
// code for asynchronous receive in MSMQ using System.Messaging;
namespace MSMQSolution { class Program {
private static void MyReceive(Object source, ReceiveCompletedEventArgs asyncResult) { MessageQueue mq = (MessageQueue) source;
Message msg = mq.EndReceive(asyncResult.AsyncResult); Console.WriteLine("Message: " + (string)msg.Body); mq.BeginReceive();
}
static void Main(string[] args) {
...
MessageQueue mq = new MessageQueue(queueName);
...
mq.ReceiveCompleted += new ReceiveCompletedEventHandler(MyReceive); mq.BeginReceive();
}
}
}
KBTU, Almaty
MSMQ
//code to receive and send messages within MSMQ transaction MessageQueueTransaction trans = new MessageQueueTransaction(); trans.Begin();
...
MessageQueue mq1 = new MessageQueue(...); Message msg1 = mq1.Receive(trans);
...
MessageQueue mq2 = new MessageQueue(...); Message msg2 = new Message(...); mq2.Send(msg2, trans);
...
trans.Commit();
//code to request acknowledgments for sent message
MessageQueue mq = new MessageQueue(...); Message msg = new Message(...);
msg.AcknowledgeType = AcknowledgeTypes.FullReceive; msg.AdministrationQueue = new MessageQueue(...); mq.Send(msg);
KBTU, Almaty
Key points
QA |
KBTU, Almaty |