Rhino.Queues.QueueManager.Start C# (CSharp) Method

Start() public method

public Start ( ) : void
return void
        public void Start()
        {
            AssertNotDisposedOrDisposing();

            if (wasStarted)
                throw new InvalidOperationException("The Start method may not be invoked more than once.");

            receiver = new Receiver(endpoint, enableEndpointPortAutoSelection, AcceptMessages);
            receiver.Start();

            queuedMessagesSender = new QueuedMessagesSender(queueStorage, this);
            sendingThread = new Thread(queuedMessagesSender.Send)
            {
                IsBackground = true,
                Name = "Rhino Queue Sender Thread for " + path
            };
            sendingThread.Start();
            purgeOldDataTimer = new Timer(_ => PurgeOldData(), null,
                                          TimeSpan.FromMinutes(3),
                                          TimeSpan.FromMinutes(3));

            wasStarted = true;
        }

Usage Example

示例#1
0
        public MessageLoggingTests()
        {
            var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "log_endpoint.esent");
            if (Directory.Exists(path))
                Directory.Delete(path, true);

            container = new WindsorContainer();
            new RhinoServiceBusConfiguration()
                .UseCastleWindsor(container)
                .UseStandaloneConfigurationFile("RhinoQueues/RhinoQueues.config")
                .Configure();
            container.Register(Component.For<MessageLoggingModule>());

            messageSerializer = container.Resolve<IMessageSerializer>();
            queue = new QueueManager(new IPEndPoint(IPAddress.Any, 2202), path);
            queue.CreateQueues("log_endpoint");
            queue.Start();
            

            var innerTransport = container.Resolve<ITransport>();
            innerTransport.Start();
            transport = MockRepository.GenerateStub<ITransport>();
            transport.Stub(t => t.Send(null, null)).IgnoreArguments()
                .Do((Delegates.Action<Endpoint, object[]>)(innerTransport.Send));
        }
All Usage Examples Of Rhino.Queues.QueueManager::Start