Apache.NMS.Test.DurableTest.RunTestDurableConsumer C# (CSharp) Method

RunTestDurableConsumer() protected method

protected RunTestDurableConsumer ( string topicName, AcknowledgementMode ackMode ) : void
topicName string
ackMode AcknowledgementMode
return void
        protected void RunTestDurableConsumer(string topicName, AcknowledgementMode ackMode)
        {
            SendDurableMessage(topicName);
            SendDurableMessage(topicName);

            using(IConnection connection = CreateConnection(TEST_CLIENT_AND_CONSUMER_ID))
            {
                connection.Start();
                using(ISession session = connection.CreateSession(ackMode))
                {
                    ITopic topic = SessionUtil.GetTopic(session, topicName);
                    using(IMessageConsumer consumer = session.CreateDurableConsumer(topic, TEST_CLIENT_AND_CONSUMER_ID, null, false))
                    {
                        IMessage msg = consumer.Receive(receiveTimeout);
                        Assert.IsNotNull(msg, "Did not receive first durable message.");
                        msg.Acknowledge();

                        msg = consumer.Receive(receiveTimeout);
                        Assert.IsNotNull(msg, "Did not receive second durable message.");
                        msg.Acknowledge();

                        if(AcknowledgementMode.Transactional == ackMode)
                        {
                            session.Commit();
                        }
                    }
                }
            }
        }