Apache.NMS.ActiveMQ.Test.MessageProducerTest.TestProducerSendWithTimeout C# (CSharp) Method

TestProducerSendWithTimeout() private method

private TestProducerSendWithTimeout ( ) : void
return void
        public void TestProducerSendWithTimeout()
        {
            int timeout = 1500;
            Uri uri = new Uri(string.Format("mock://localhost:61616?connection.RequestTimeout={0}&transport.respondToMessages=false", timeout));

            ConnectionFactory factory = new ConnectionFactory(uri);
            using(IConnection connection = factory.CreateConnection())
            using(ISession session = connection.CreateSession())
            {
                IDestination destination = session.GetTopic("Test");
                using(IMessageProducer producer = session.CreateProducer(destination))
                {
                    ITextMessage message = session.CreateTextMessage("Hello World");

                    for(int i = 0; i < 10; ++i)
                    {
                        DateTime start = DateTime.Now;

                        try
                        {
                            producer.Send(message);
                            Assert.Fail("Expected a RequestTimedOutException");
                        }
                        catch(RequestTimedOutException)
                        {
                        }

                        TimeSpan elapsed = DateTime.Now - start;
                        // Make sure we timed out.
                        Assert.GreaterOrEqual((int) elapsed.TotalMilliseconds, timeout - 10, "Did not reach timeout limit.");
                    }
                }
            }
        }