Exemplo n.º 1
0
        private BrokerController(BrokerSetting setting)
        {
            Setting                      = setting ?? new BrokerSetting();
            _producerManager             = IocManager.Instance.Resolve <ProducerManager>();
            _consumerManager             = IocManager.Instance.Resolve <ConsumerManager>();
            _messageStore                = IocManager.Instance.Resolve <IMessageStore>();
            _consumeOffsetStore          = IocManager.Instance.Resolve <IConsumeOffsetStore>();
            _queueStore                  = IocManager.Instance.Resolve <IQueueStore>();
            _suspendedPullRequestManager = IocManager.Instance.Resolve <SuspendedPullRequestManager>();
            _chunkReadStatisticService   = IocManager.Instance.Resolve <IChunkStatisticService>();

            _producerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ProducerRemotingServer", Setting.ProducerAddress, Setting.SocketSetting);
            _consumerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ConsumerRemotingServer", Setting.ConsumerAddress, Setting.SocketSetting);
            _adminSocketRemotingServer    = new SocketRemotingServer("EQueue.Broker.AdminRemotingServer", Setting.AdminAddress, Setting.SocketSetting);

            _logger = IocManager.Instance.Resolve <ILoggerFactory>().Create(GetType().FullName);
            _producerSocketRemotingServer.RegisterConnectionEventListener(new ProducerConnectionEventListener(this));
            _consumerSocketRemotingServer.RegisterConnectionEventListener(new ConsumerConnectionEventListener(this));
            RegisterRequestHandlers();

            _service = new ConsoleEventHandlerService();
            _service.RegisterClosingEventHandler(eventCode => { Shutdown(); });
        }
Exemplo n.º 2
0
 public static BrokerController Create(BrokerSetting setting = null)
 {
     _instance = new BrokerController(setting);
     return(_instance);
 }