Apache.NMS.ActiveMQ.Test.IndividualAckTest.TestUnAckedMessageAreNotConsumedOnSessionClose C# (CSharp) Method

TestUnAckedMessageAreNotConsumedOnSessionClose() private method

private TestUnAckedMessageAreNotConsumedOnSessionClose ( ) : void
return void
        public void TestUnAckedMessageAreNotConsumedOnSessionClose()
        {
            ISession session = connection.CreateSession(AcknowledgementMode.IndividualAcknowledge);
            ITemporaryQueue queue = session.CreateTemporaryQueue();
            IMessageProducer producer = session.CreateProducer(queue);
            producer.Send(session.CreateTextMessage("Hello"));

            // Consume the message...
            IMessageConsumer consumer = session.CreateConsumer(queue);
            IMessage msg = consumer.Receive(TimeSpan.FromMilliseconds(1000));
            Assert.IsNotNull(msg);
            // Don't ack the message.

            // Reset the session.  This should cause the unacknowledged message to be re-delivered.
            session.Close();
            session = connection.CreateSession(AcknowledgementMode.IndividualAcknowledge);

            // Attempt to Consume the message...
            consumer = session.CreateConsumer(queue);
            msg = consumer.Receive(TimeSpan.FromMilliseconds(2000));
            Assert.IsNotNull(msg);
            msg.Acknowledge();

            session.Close();
        }