예제 #1
0
        public void sendWithReturnAddress()
        {
            IList <string>         replies      = new List <string>(3);
            CountDownLatch         latch        = new CountDownLatch(3);
            IMessageChannel        replyChannel = new SendWithReturnAddressChannel(replies, latch);
            MessageChannelTemplate template     = new MessageChannelTemplate();
            IMessage message1 = MessageBuilder.WithPayload("test1").SetReplyChannel(replyChannel).Build();
            IMessage message2 = MessageBuilder.WithPayload("test2").SetReplyChannel(replyChannel).Build();
            IMessage message3 = MessageBuilder.WithPayload("test3").SetReplyChannel(replyChannel).Build();

            template.Send(message1, requestChannel);
            template.Send(message2, requestChannel);
            template.Send(message3, requestChannel);
            latch.Await(TimeSpan.FromMilliseconds(2000));
            Assert.That(latch.Count, Is.EqualTo(0));
            Assert.IsTrue(replies.Contains("TEST1"));
            Assert.IsTrue(replies.Contains("TEST2"));
            Assert.IsTrue(replies.Contains("TEST3"));
        }
 public void sendWithReturnAddress()
 {
     IList<string> replies = new List<string>(3);
     CountDownLatch latch = new CountDownLatch(3);
     IMessageChannel replyChannel = new SendWithReturnAddressChannel(replies, latch);
     MessageChannelTemplate template = new MessageChannelTemplate();
     IMessage message1 = MessageBuilder.WithPayload("test1").SetReplyChannel(replyChannel).Build();
     IMessage message2 = MessageBuilder.WithPayload("test2").SetReplyChannel(replyChannel).Build();
     IMessage message3 = MessageBuilder.WithPayload("test3").SetReplyChannel(replyChannel).Build();
     template.Send(message1, requestChannel);
     template.Send(message2, requestChannel);
     template.Send(message3, requestChannel);
     latch.Await(TimeSpan.FromMilliseconds(2000));
     Assert.That(latch.Count, Is.EqualTo(0));
     Assert.IsTrue(replies.Contains("TEST1"));
     Assert.IsTrue(replies.Contains("TEST2"));
     Assert.IsTrue(replies.Contains("TEST3"));
 }