示例#1
0
        private static IDestination CreateDestination(string address, byte typeByte)
        {
            if (address == null)
            {
                return(null);
            }

            switch (typeByte)
            {
            case MessageSupport.JMS_DEST_TYPE_QUEUE:
                return(new NmsQueue(address));

            case MessageSupport.JMS_DEST_TYPE_TOPIC:
                return(new NmsTopic(address));

            case MessageSupport.JMS_DEST_TYPE_TEMP_QUEUE:
                NmsTemporaryQueue temporaryQueue = new NmsTemporaryQueue(new CustomIdGenerator(true, address).GenerateId());
                temporaryQueue.Address = address;
                return(temporaryQueue);

            case MessageSupport.JMS_DEST_TYPE_TEMP_TOPIC:
                NmsTemporaryTopic temporaryTopic = new NmsTemporaryTopic(new CustomIdGenerator(true, address).GenerateId());
                temporaryTopic.Address = address;
                return(temporaryTopic);
            }

            // fall back to a Queue Destination since we need a real NMS destination
            return(new NmsQueue(address));
        }
        public void TestTwoTemporaryQueuesWithDifferentAddressesAreNotEqual()
        {
            var connectionId = new NmsConnectionId("1");
            NmsTemporaryQueue temporaryQueue1 = new NmsTemporaryQueue("myTemporaryQueue");
            NmsTemporaryQueue temporaryQueue2 = new NmsTemporaryQueue("myTemporaryQueue2");

            Assert.AreNotEqual(temporaryQueue1, temporaryQueue2);
            Assert.AreNotEqual(temporaryQueue1.GetHashCode(), temporaryQueue2.GetHashCode());
        }
        public void TestTwoTemporaryQueuesWithTheSameAddressesAreEqual()
        {
            NmsTemporaryQueue temporaryQueue1 = new NmsTemporaryQueue("myTemporaryQueue");
            NmsTemporaryQueue temporaryQueue2 = new NmsTemporaryQueue("myTemporaryQueue");

            Assert.AreEqual(temporaryQueue1, temporaryQueue2);
            Assert.AreNotSame(temporaryQueue1, temporaryQueue2);
            Assert.AreEqual(temporaryQueue1.GetHashCode(), temporaryQueue2.GetHashCode());
        }
示例#4
0
        public void TestTwoTemporaryQueuesWithDifferentAddressesAreNotEqual()
        {
            NmsTemporaryQueue temporaryQueue1 = new NmsTemporaryQueue(new Id("test"))
            {
                Address = "myTemporaryQueue"
            };
            NmsTemporaryQueue temporaryQueue2 = new NmsTemporaryQueue(new Id("test"))
            {
                Address = "myTemporaryQueue2"
            };

            Assert.AreNotEqual(temporaryQueue1, temporaryQueue2);
            Assert.AreNotEqual(temporaryQueue1.GetHashCode(), temporaryQueue2.GetHashCode());
        }
 protected bool Equals(NmsTemporaryQueue other)
 {
     return(QueueName == other.QueueName && DestinationType == other.DestinationType && IsTopic == other.IsTopic && IsQueue == other.IsQueue && IsTemporary == other.IsTemporary);
 }