Пример #1
0
        public void BuilderConfigAllSettings()
        {
            string        path     = @".\private$\MyQueue";
            string        desc     = "Queue description";
            var           qbuilder = (QueueBuilder)QueueBuilder.New("MyQueue");
            QueueSettings config;

            qbuilder
            .AsTransactional()
            .UseConnectionCache()
            .WithExclusiveReadAccess()
            .UseJournalQueue()
            .WithDescription(desc)
            .WithFormatter(new JsonFormatter())
            .WithMaxJournalSize(1000)
            .WithMaxQueueSize(1000);

            config = qbuilder.settings;

            Assert.AreEqual(typeof(JsonFormatter), config.Formatter.GetType(), "Formatter");
            Assert.AreEqual(desc, config.Label, "Label");
            Assert.AreEqual(true, config.UseConnectionCache, "UseConnectionCache");
            Assert.AreEqual(true, config.DenySharedReceive, "DenySharedReceive");
            Assert.AreEqual(1000, config.MaxJournalQueueSize, "MaxJournalQueueSize");
            Assert.AreEqual(1000, config.MaxQueueSize, "MaxQueueSize");
            Assert.AreEqual(path, config.Path, "Path");
            Assert.AreEqual(true, config.Transactional, "Transactional");
            Assert.AreEqual(true, config.UseJournalQueue, "UseJournalQueue");
        }
Пример #2
0
        private MessageQueue GetMessageQueue(string queueName, bool transactional)
        {
            MessageQueue  queue;
            IQueueBuilder builder;

            var queuePath = QueueBuilder.TryFormatPath(queueName);

            builder = QueueBuilder.New(queuePath)
                      .WithJsonSerialization();

            if (transactional)
            {
                builder.AsTransactional();
            }

            if ((QueueBuilder.IsPrivateQueuePath(queuePath) && settings.CreateLocalQueues))
            {
                queue = builder.TryCreate();
            }
            else
            {
                queue = builder.Retrieve();
            }

            return(queue);
        }
Пример #3
0
        private MessageQueue GetMessageQueue(string queueName, bool denySharedReceive)
        {
            MessageQueue queue;
            var          queuePath = QueueBuilder.TryFormatPath(queueName);

            IQueueBuilder builder = QueueBuilder.New(queuePath)
                                    .WithExclusiveReadAccess()
                                    .WithJsonSerialization();

            if (denySharedReceive)
            {
                builder.WithExclusiveReadAccess();
            }

            if ((QueueBuilder.IsPrivateQueuePath(queuePath) && settings.AutoCreateLocalQueues))
            {
                queue = builder.TryCreate();
            }
            else
            {
                queue = builder.Retrieve();
            }

            return(queue);
        }
Пример #4
0
        public void BuilderConfigDefaultFormatter()
        {
            string        path     = @".\Private$\MyQueue";
            var           qbuilder = (QueueBuilder)QueueBuilder.New(path);
            QueueSettings config;

            config = qbuilder.settings;

            Assert.IsNull(config.Formatter, "Formatter");
        }
Пример #5
0
        public void BuilderConfigJsonFormatter()
        {
            string        path     = @".\Private$\MyQueue";
            var           qbuilder = (QueueBuilder)QueueBuilder.New(path);
            QueueSettings config;

            qbuilder.WithJsonSerialization();
            config = qbuilder.settings;

            Assert.AreEqual(typeof(JsonFormatter), config.Formatter.GetType(), "Formatter");
        }
Пример #6
0
        public void BuilderConfigNullPathValidation()
        {
            var qbuilder = (QueueBuilder)QueueBuilder.New(string.Empty);

            qbuilder.settings.Validate();
        }