public static ENodeConfiguration StartEQueue(this ENodeConfiguration enodeConfiguration) { var producerSetting = new ProducerSetting { NameServerList = new List <IPEndPoint> { new IPEndPoint(SocketUtils.GetLocalIPV4(), ConfigSettings.NameServerPort) } }; var consumerSetting = new ConsumerSetting { NameServerList = new List <IPEndPoint> { new IPEndPoint(SocketUtils.GetLocalIPV4(), ConfigSettings.NameServerPort) } }; _domainEventPublisher.InitializeEQueue(producerSetting); _exceptionPublisher.InitializeEQueue(producerSetting); _applicationMessagePublisher.InitializeEQueue(producerSetting); _commandConsumer = new CommandConsumer().InitializeEQueue("ConferenceCommandConsumerGroup", consumerSetting).Subscribe(Topics.ConferenceCommandTopic); _eventConsumer = new DomainEventConsumer().InitializeEQueue("ConferenceEventConsumerGroup", consumerSetting).Subscribe(Topics.ConferenceDomainEventTopic); _exceptionConsumer = new PublishableExceptionConsumer().InitializeEQueue("ConferenceExceptionConsumerGroup", consumerSetting).Subscribe(Topics.ConferenceExceptionTopic); _exceptionConsumer.Start(); _eventConsumer.Start(); _commandConsumer.Start(); _applicationMessagePublisher.Start(); _domainEventPublisher.Start(); _exceptionPublisher.Start(); return(enodeConfiguration); }
public static ENodeConfiguration StartEQueue(this ENodeConfiguration enodeConfiguration) { var brokerStorePath = ConfigurationManager.AppSettings["equeue-store-path"]; if (Directory.Exists(brokerStorePath)) { Directory.Delete(brokerStorePath, true); } _commandService.InitializeEQueue(new CommandResultProcessor().Initialize(new IPEndPoint(SocketUtils.GetLocalIPV4(), 9000))); _applicationMessagePublisher.InitializeEQueue(); _domainEventPublisher.InitializeEQueue(); _exceptionPublisher.InitializeEQueue(); _nameServerController = new NameServerController(); _broker = BrokerController.Create(new BrokerSetting(chunkFileStoreRootPath: brokerStorePath)); _commandConsumer = new CommandConsumer().InitializeEQueue().Subscribe(Constants.CommandTopic); _applicationMessageConsumer = new ApplicationMessageConsumer().InitializeEQueue().Subscribe(Constants.ApplicationMessageTopic); _eventConsumer = new DomainEventConsumer().InitializeEQueue().Subscribe(Constants.EventTopic); _exceptionConsumer = new PublishableExceptionConsumer().InitializeEQueue().Subscribe(Constants.ExceptionTopic); _nameServerSocketRemotingClient = new SocketRemotingClient("NameServerRemotingClient", new IPEndPoint(SocketUtils.GetLocalIPV4(), 9493)); _nameServerController.Start(); _broker.Start(); _exceptionConsumer.Start(); _eventConsumer.Start(); _applicationMessageConsumer.Start(); _commandConsumer.Start(); _applicationMessagePublisher.Start(); _domainEventPublisher.Start(); _exceptionPublisher.Start(); _commandService.Start(); _nameServerSocketRemotingClient.Start(); //生产环境不需要以下这段代码 CreateTopic(Constants.CommandTopic); CreateTopic(Constants.EventTopic); CreateTopic(Constants.ApplicationMessageTopic); CreateTopic(Constants.ExceptionTopic); WaitAllProducerTopicQueuesAvailable(); WaitAllConsumerLoadBalanceComplete(); return enodeConfiguration; }
public static ENodeConfiguration StartEQueue(this ENodeConfiguration enodeConfiguration) { _commandService.InitializeEQueue(new CommandResultProcessor().Initialize(new IPEndPoint(SocketUtils.GetLocalIPV4(), 9000))); _applicationMessagePublisher.InitializeEQueue(); _domainEventPublisher.InitializeEQueue(); _exceptionPublisher.InitializeEQueue(); _nameServerController = new NameServerController(); _broker = BrokerController.Create(); _commandConsumer = new CommandConsumer().InitializeEQueue().Subscribe("BankTransferCommandTopic"); _applicationMessageConsumer = new ApplicationMessageConsumer().InitializeEQueue().Subscribe("BankTransferApplicationMessageTopic"); _eventConsumer = new DomainEventConsumer().InitializeEQueue().Subscribe("BankTransferEventTopic"); _exceptionConsumer = new PublishableExceptionConsumer().InitializeEQueue().Subscribe("BankTransferExceptionTopic"); var brokerStorePath = ConfigurationManager.AppSettings["equeue-store-path"]; if (Directory.Exists(brokerStorePath)) { Directory.Delete(brokerStorePath, true); } _nameServerController.Start(); _broker.Start(); _exceptionConsumer.Start(); _eventConsumer.Start(); _applicationMessageConsumer.Start(); _commandConsumer.Start(); _applicationMessagePublisher.Start(); _domainEventPublisher.Start(); _exceptionPublisher.Start(); _commandService.Start(); WaitAllConsumerLoadBalanceComplete(); return(enodeConfiguration); }
public static ENodeConfiguration StartEQueue(this ENodeConfiguration enodeConfiguration) { if (_isEQueueStarted) { _commandService.InitializeENode(); _eventPublisher.InitializeENode(); _applicationMessagePublisher.InitializeENode(); _publishableExceptionPublisher.InitializeENode(); _commandConsumer.InitializeENode(); _eventConsumer.InitializeENode(); _applicationMessageConsumer.InitializeENode(); _publishableExceptionConsumer.InitializeENode(); return(enodeConfiguration); } var brokerStorePath = @"d:\equeue-store-ut"; var brokerSetting = new BrokerSetting(chunkFileStoreRootPath: brokerStorePath); if (Directory.Exists(brokerStorePath)) { Directory.Delete(brokerStorePath, true); } _nameServerController = new NameServerController(); _broker = BrokerController.Create(brokerSetting); _commandService.InitializeEQueue(new CommandResultProcessor().Initialize(new IPEndPoint(SocketUtils.GetLocalIPV4(), 9001))); _eventPublisher.InitializeEQueue(); _applicationMessagePublisher.InitializeEQueue(); _publishableExceptionPublisher.InitializeEQueue(); _commandConsumer = new CommandConsumer().InitializeEQueue(setting: new ConsumerSetting { ConsumeFromWhere = ConsumeFromWhere.LastOffset }).Subscribe("CommandTopic"); _eventConsumer = new DomainEventConsumer().InitializeEQueue(setting: new ConsumerSetting { ConsumeFromWhere = ConsumeFromWhere.LastOffset }).Subscribe("EventTopic"); _applicationMessageConsumer = new ApplicationMessageConsumer().InitializeEQueue(setting: new ConsumerSetting { ConsumeFromWhere = ConsumeFromWhere.LastOffset }).Subscribe("ApplicationMessageTopic"); _publishableExceptionConsumer = new PublishableExceptionConsumer().InitializeEQueue(setting: new ConsumerSetting { ConsumeFromWhere = ConsumeFromWhere.LastOffset }).Subscribe("PublishableExceptionTopic"); _nameServerController.Start(); _broker.Start(); _eventConsumer.Start(); _commandConsumer.Start(); _applicationMessageConsumer.Start(); _publishableExceptionConsumer.Start(); _applicationMessagePublisher.Start(); _publishableExceptionPublisher.Start(); _eventPublisher.Start(); _commandService.Start(); WaitAllProducerTopicQueuesAvailable(); WaitAllConsumerLoadBalanceComplete(); _isEQueueStarted = true; return(enodeConfiguration); }