public DistributedHashTableStorageHost( Uri master, string name, int port) { Endpoint = new NodeEndpoint { Sync = new Uri("rhino.dht://" + Environment.MachineName + ":" + port + "/"), Async = new Uri("rhino.queues://" + Environment.MachineName + ":" + (port + 1) + "/replication") }; queueManager = new QueueManager(new IPEndPoint(IPAddress.Any, port + 1), name + ".queue.esent"); queueManager.CreateQueues("replication"); node = new DistributedHashTableNode( new DistributedHashTableMasterClient(master), new ThreadPoolExecuter(), new BinaryMessageSerializer(), Endpoint, queueManager, new NonPooledDistributedHashTableNodeFactory() ); var dhtStorage = new DistributedHashTableStorage(name + ".data.esent", node); replication = dhtStorage.Replication; storage = dhtStorage; listener = new TcpListener( Socket.OSSupportsIPv6 ? IPAddress.IPv6Any : IPAddress.Any, port); }
static void run() { var builder = new ContainerBuilder(); var registry = new AutofacDependencyRegistryBuilder(builder).build(); Resolve.initialize_with(registry); builder.Register(x => registry).As<DependencyRegistry>().SingletonScoped(); //needs startups builder.Register<StartServiceBus>().As<NeedStartup>(); // infrastructure var manager = new QueueManager(new IPEndPoint(IPAddress.Loopback, 2201), "client.esent"); manager.CreateQueues("client"); builder.Register(x => new RhinoPublisher("server", 2200, manager)).As<ServiceBus>().SingletonScoped(); builder.Register(x => new RhinoReceiver(manager.GetQueue("client"), x.Resolve<CommandProcessor>())).As<RhinoReceiver>().As<Receiver>().SingletonScoped(); // commanding //builder.Register<AsynchronousCommandProcessor>().As<CommandProcessor>().SingletonScoped(); builder.Register<SynchronousCommandProcessor>().As<CommandProcessor>().SingletonScoped(); builder.Register<RequestHandler>().As<Handler>(); Resolve.the<IEnumerable<NeedStartup>>().each(x => x.run()); Resolve.the<CommandProcessor>().run(); "started".log(); }
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)); }
public void Start() { shouldContinue = true; var port = endpoint.Port; if (port == -1) port = 2200; queueManager = new QueueManager(new IPEndPoint(IPAddress.Any, port), path); queueManager.CreateQueues(queueName); queue = queueManager.GetQueue(queueName); timeout = new TimeoutAction(queue); logger.DebugFormat("Starting {0} threads to handle messages on {1}, number of retries: {2}", threadCount, endpoint, numberOfRetries); for (var i = 0; i < threadCount; i++) { threads[i] = new Thread(ReceiveMessage) { Name = "Rhino Service Bus Worker Thread #" + i, IsBackground = true }; threads[i].Start(); } haveStarted = true; var started = Started; if (started != null) started(); }
private void ConfigureAndStartQueueManager(int port) { queueManager = new QueueManager(new IPEndPoint(IPAddress.Any, port), path); queueManager.CreateQueues(queueName); if (enablePerformanceCounters) queueManager.EnablePerformanceCounters(); queueManager.Start(); }