Example #1
0
 public SendMessageRequestHandler()
 {
     _suspendedPullRequestManager = ObjectContainer.Resolve <SuspendedPullRequestManager>();
     _messageStore = ObjectContainer.Resolve <IMessageStore>();
     _queueStore   = ObjectContainer.Resolve <IQueueStore>();
     _logger       = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
 }
Example #2
0
        private BrokerController(BrokerSetting setting)
        {
            Setting = setting ?? new BrokerSetting();

            Setting.BrokerInfo.Valid();
            if (Setting.NameServerList == null || Setting.NameServerList.Count() == 0)
            {
                throw new ArgumentException("NameServerList is empty.");
            }

            _latestMessageIds               = new string[Setting.LatestMessageShowCount];
            _producerManager                = ObjectContainer.Resolve <ProducerManager>();
            _consumerManager                = ObjectContainer.Resolve <ConsumerManager>();
            _messageStore                   = ObjectContainer.Resolve <IMessageStore>();
            _consumeOffsetStore             = ObjectContainer.Resolve <IConsumeOffsetStore>();
            _queueStore                     = ObjectContainer.Resolve <IQueueStore>();
            _getTopicConsumeInfoListService = ObjectContainer.Resolve <GetTopicConsumeInfoListService>();
            _getConsumerListService         = ObjectContainer.Resolve <GetConsumerListService>();
            _scheduleService                = ObjectContainer.Resolve <IScheduleService>();
            _binarySerializer               = ObjectContainer.Resolve <IBinarySerializer>();
            _suspendedPullRequestManager    = ObjectContainer.Resolve <SuspendedPullRequestManager>();
            _chunkReadStatisticService      = ObjectContainer.Resolve <IChunkStatisticService>();
            _tpsStatisticService            = ObjectContainer.Resolve <ITpsStatisticService>();

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

            _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
            _producerSocketRemotingServer.RegisterConnectionEventListener(new ProducerConnectionEventListener(this));
            _consumerSocketRemotingServer.RegisterConnectionEventListener(new ConsumerConnectionEventListener(this));
            RegisterRequestHandlers();
            _nameServerRemotingClientList = Setting.NameServerList.ToRemotingClientList(Setting.SocketSetting).ToList();
        }
 public PullMessageRequestHandler()
 {
     _consumerManager             = IocManager.Instance.Resolve <ConsumerManager>();
     _suspendedPullRequestManager = IocManager.Instance.Resolve <SuspendedPullRequestManager>();
     _messageStore = IocManager.Instance.Resolve <IMessageStore>();
     _queueStore   = IocManager.Instance.Resolve <IQueueStore>();
     _offsetStore  = IocManager.Instance.Resolve <IConsumeOffsetStore>();
     _logger       = IocManager.Instance.Resolve <ILoggerFactory>().Create(GetType().FullName);
 }
Example #4
0
 public BrokerController Shutdown()
 {
     _producerSocketRemotingServer.Shutdown();
     _consumerSocketRemotingServer.Shutdown();
     _clientManager.Shutdown();
     _messageService.Shutdown();
     SuspendedPullRequestManager.Shutdown();
     return(this);
 }
 public PullMessageRequestHandler()
 {
     _consumerManager             = ObjectContainer.Resolve <ConsumerManager>();
     _suspendedPullRequestManager = ObjectContainer.Resolve <SuspendedPullRequestManager>();
     _messageService   = ObjectContainer.Resolve <IMessageService>();
     _queueService     = ObjectContainer.Resolve <IQueueService>();
     _offsetManager    = ObjectContainer.Resolve <IOffsetManager>();
     _binarySerializer = ObjectContainer.Resolve <IBinarySerializer>();
     _logger           = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     EmptyResponseData = new byte[0];
 }
Example #6
0
 public BrokerController(BrokerSetting setting)
 {
     Setting = setting ?? new BrokerSetting();
     SuspendedPullRequestManager = new SuspendedPullRequestManager();
     ConsumerManager             = new ConsumerManager();
     _logger         = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     _messageService = ObjectContainer.Resolve <IMessageService>();
     _producerSocketRemotingServer = new SocketRemotingServer("ProducerRemotingServer", Setting.ProducerSocketSetting, new ProducerSocketEventListener(this));
     _consumerSocketRemotingServer = new SocketRemotingServer("ConsumerRemotingServer", Setting.ConsumerSocketSetting, new ConsumerSocketEventListener(this));
     _clientManager = new ClientManager(this);
     _messageService.SetBrokerContrller(this);
 }
Example #7
0
        public SendMessageRequestHandler(BrokerController brokerController)
        {
            _brokerController            = brokerController;
            _suspendedPullRequestManager = ObjectContainer.Resolve <SuspendedPullRequestManager>();
            _messageStore             = ObjectContainer.Resolve <IMessageStore>();
            _queueStore               = ObjectContainer.Resolve <IQueueStore>();
            _notifyWhenMessageArrived = _brokerController.Setting.NotifyWhenMessageArrived;
            _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
            var messageWriteQueueThreshold = brokerController.Setting.MessageWriteQueueThreshold;

            _bufferQueue = new BufferQueue <StoreContext>("QueueBufferQueue", messageWriteQueueThreshold, AddQueueMessage, _logger);
        }
Example #8
0
        public BatchSendMessageRequestHandler(BrokerController brokerController)
        {
            _brokerController            = brokerController;
            _suspendedPullRequestManager = ObjectContainer.Resolve <SuspendedPullRequestManager>();
            _messageStore             = ObjectContainer.Resolve <IMessageStore>();
            _queueStore               = ObjectContainer.Resolve <IQueueStore>();
            _tpsStatisticService      = ObjectContainer.Resolve <ITpsStatisticService>();
            _notifyWhenMessageArrived = _brokerController.Setting.NotifyWhenMessageArrived;
            _logger       = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
            _sendRTLogger = ObjectContainer.Resolve <ILoggerFactory>().Create("BatchSendRT");
            var messageWriteQueueThreshold = brokerController.Setting.BatchMessageWriteQueueThreshold;

            _bufferQueue = new BufferQueue <StoreContext>("QueueBufferQueue", messageWriteQueueThreshold, OnQueueMessageCompleted, _logger);
        }
Example #9
0
 public BrokerController Start()
 {
     _producerSocketRemotingServer.Start();
     _consumerSocketRemotingServer.Start();
     _clientManager.Start();
     _messageService.Start();
     SuspendedPullRequestManager.Start();
     _logger.InfoFormat("Broker started, producer:[{0}:{1}], consumer:[{2}:{3}]",
                        Setting.ProducerSocketSetting.Address,
                        Setting.ProducerSocketSetting.Port,
                        Setting.ConsumerSocketSetting.Address,
                        Setting.ConsumerSocketSetting.Port);
     return(this);
 }
Example #10
0
 private BrokerController(BrokerSetting setting)
 {
     Setting                       = setting ?? new BrokerSetting();
     _consumerManager              = ObjectContainer.Resolve <ConsumerManager>();
     _messageStore                 = ObjectContainer.Resolve <IMessageStore>();
     _offsetManager                = ObjectContainer.Resolve <IOffsetManager>();
     _queueService                 = ObjectContainer.Resolve <IQueueService>();
     _messageService               = ObjectContainer.Resolve <IMessageService>();
     _suspendedPullRequestManager  = ObjectContainer.Resolve <SuspendedPullRequestManager>();
     _producerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ProducerRemotingServer", Setting.ProducerIPEndPoint);
     _consumerSocketRemotingServer = new SocketRemotingServer("EQueue.Broker.ConsumerRemotingServer", Setting.ConsumerIPEndPoint, this);
     _adminSocketRemotingServer    = new SocketRemotingServer("EQueue.Broker.AdminRemotingServer", Setting.AdminIPEndPoint);
     _logger                       = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
     RegisterRequestHandlers();
 }
Example #11
0
        private BrokerController(BrokerSetting setting)
        {
            Setting                      = setting ?? new BrokerSetting();
            _consumerManager             = ObjectContainer.Resolve <ConsumerManager>();
            _messageStore                = ObjectContainer.Resolve <IMessageStore>();
            _consumeOffsetStore          = ObjectContainer.Resolve <IConsumeOffsetStore>();
            _queueStore                  = ObjectContainer.Resolve <IQueueStore>();
            _suspendedPullRequestManager = ObjectContainer.Resolve <SuspendedPullRequestManager>();
            _chunkReadStatisticService   = ObjectContainer.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 = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
            _consumerSocketRemotingServer.RegisterConnectionEventListener(new ConsumerConnectionEventListener(this));
            RegisterRequestHandlers();

            _service = new ConsoleEventHandlerService();
            _service.RegisterClosingEventHandler(eventCode => { Shutdown(); });
        }
 public SetQueueNextConsumeOffsetRequestHandler()
 {
     _offsetStore                 = ObjectContainer.Resolve <IConsumeOffsetStore>();
     _binarySerializer            = ObjectContainer.Resolve <IBinarySerializer>();
     _suspendedPullRequestManager = ObjectContainer.Resolve <SuspendedPullRequestManager>();
 }
Example #13
0
 public SetQueueNextConsumeOffsetRequestHandler()
 {
     _offsetStore                 = IocManager.Instance.Resolve <IConsumeOffsetStore>();
     _binarySerializer            = IocManager.Instance.Resolve <ISerializer <byte[]> >();
     _suspendedPullRequestManager = IocManager.Instance.Resolve <SuspendedPullRequestManager>();
 }