示例#1
0
        public void CachedMessageConsumer()
        {
            IConnectionFactory connectionFactory = CreateConnectionFactory();

            mocks.ReplayAll();


            CachingConnectionFactory cachingConnectionFactory = new CachingConnectionFactory();

            cachingConnectionFactory.TargetConnectionFactory = connectionFactory;
            IConnection con1 = cachingConnectionFactory.CreateConnection();

            ISession            sessionA    = con1.CreateSession(AcknowledgementMode.Transactional);
            IDestination        destination = new ActiveMQQueue("test.dest");
            IMessageConsumer    consumerA   = sessionA.CreateConsumer(destination);
            TestMessageConsumer tmpA        = GetTestMessageConsumer(consumerA);

            sessionA.Close();

            ISession            sessionB  = con1.CreateSession(AcknowledgementMode.Transactional);
            IMessageConsumer    consumerB = sessionB.CreateConsumer(destination);
            TestMessageConsumer tmpB      = GetTestMessageConsumer(consumerB);

            Assert.AreSame(tmpA, tmpB);
            mocks.VerifyAll();
        }
示例#2
0
        private static TestMessageConsumer GetTestMessageConsumer(IMessageConsumer consumer)
        {
            CachedMessageConsumer cmp1 = consumer as CachedMessageConsumer;

            Assert.IsNotNull(cmp1);
            TestMessageConsumer tmp1 = cmp1.Target as TestMessageConsumer;

            Assert.IsNotNull(tmp1);
            return(tmp1);
        }