Apache.NMS.Test.TempDestinationTest.TestTmpQueueWorksUnderLoad C# (CSharp) Method

TestTmpQueueWorksUnderLoad() private method

private TestTmpQueueWorksUnderLoad ( ) : void
return void
        public void TestTmpQueueWorksUnderLoad()
        {
            int count = 500;
            int dataSize = 1024;

            ArrayList list = new ArrayList(count);
            ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge);
            ITemporaryQueue queue = session.CreateTemporaryQueue();
            IBytesMessage message;
            IBytesMessage message2;
            IMessageProducer producer = session.CreateProducer(queue);
            producer.DeliveryMode = MsgDeliveryMode.NonPersistent;

            byte[] srcdata = new byte[dataSize];
            srcdata[0] = (byte) 'B';
            srcdata[1] = (byte) 'A';
            srcdata[2] = (byte) 'D';
            srcdata[3] = (byte) 'W';
            srcdata[4] = (byte) 'O';
            srcdata[5] = (byte) 'L';
            srcdata[6] = (byte) 'F';
            for(int i = 0; i < count; i++)
            {
                message = session.CreateBytesMessage();
                message.WriteBytes(srcdata);
                message.Properties.SetInt("c", i);
                producer.Send(message);
                list.Add(message);
            }

            connection.Start();
            byte[] data = new byte[dataSize];
            byte[] data2 = new byte[dataSize];
            IMessageConsumer consumer = session.CreateConsumer(queue);
            for(int i = 0; i < count; i++)
            {
                message2 = consumer.Receive(TimeSpan.FromMilliseconds(2000)) as IBytesMessage;
                Assert.IsNotNull(message2);
                Assert.AreEqual(i, message2.Properties.GetInt("c"));
                message = list[i] as IBytesMessage;
                Assert.IsNotNull(message);
                message.Reset();
                message.ReadBytes(data);
                message2.ReadBytes(data2);
                Assert.AreEqual(data, data2);
            }
        }