Beispiel #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));
        }
Beispiel #2
0
        public void TestTwoTemporaryTopicsWithDifferentAddressesAreNotEqual()
        {
            var nmsTopic1 = new NmsTemporaryTopic("myTopic");
            var nmsTopic2 = new NmsTemporaryTopic("myTopic2");

            Assert.AreNotEqual(nmsTopic1, nmsTopic2);
            Assert.AreNotEqual(nmsTopic1.GetHashCode(), nmsTopic2.GetHashCode());
        }
Beispiel #3
0
        public void TestTwoTemporaryTopicsWithTheSameAddressesAreEqual()
        {
            var nmsTopic1 = new NmsTemporaryTopic("myTopic");
            var nmsTopic2 = new NmsTemporaryTopic("myTopic");

            Assert.AreEqual(nmsTopic1, nmsTopic2);
            Assert.AreNotSame(nmsTopic1, nmsTopic2);
            Assert.AreEqual(nmsTopic1.GetHashCode(), nmsTopic2.GetHashCode());
        }
Beispiel #4
0
        public void TestTwoTemporaryTopicsWithDifferentAddressesAreNotEqual()
        {
            NmsTemporaryTopic nmsTopic1 = new NmsTemporaryTopic(new Id("test"))
            {
                Address = "myTopic"
            };
            NmsTemporaryTopic nmsTopic2 = new NmsTemporaryTopic(new Id("test"))
            {
                Address = "myTopic1"
            };

            Assert.AreNotEqual(nmsTopic1, nmsTopic2);
            Assert.AreNotEqual(nmsTopic1.GetHashCode(), nmsTopic2.GetHashCode());
        }
 protected bool Equals(NmsTemporaryTopic other)
 {
     return(TopicName == other.TopicName && DestinationType == other.DestinationType && IsTopic == other.IsTopic && IsQueue == other.IsQueue && IsTemporary == other.IsTemporary);
 }