Exemplo n.º 1
0
        public Producer(ProducerSetting setting = null, string name = null)
        {
            Name = name;
            Setting = setting ?? new ProducerSetting();

            if (Setting.NameServerList == null || Setting.NameServerList.Count() == 0)
            {
                throw new Exception("Name server address is not specified.");
            }

            _queueSelector = ObjectContainer.Resolve<IQueueSelector>();
            _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName);

            var clientSetting = new ClientSetting
            {
                ClientName = Name,
                ClusterName = Setting.ClusterName,
                NameServerList = Setting.NameServerList,
                SocketSetting = Setting.SocketSetting,
                OnlyFindMasterBroker = true,
                SendHeartbeatInterval = Setting.HeartbeatBrokerInterval,
                RefreshBrokerAndTopicRouteInfoInterval = Setting.RefreshBrokerAndTopicRouteInfoInterval
            };
            _clientService = new ClientService(clientSetting, this, null);
        }
Exemplo n.º 2
0
        public Producer(ProducerSetting setting = null, string name = "DefaultProducer")
        {
            Name    = name;
            Setting = setting ?? new ProducerSetting();

            if (Setting.NameServerList == null || Setting.NameServerList.Count() == 0)
            {
                throw new Exception("Name server address is not specified.");
            }

            _queueSelector = ObjectContainer.Resolve <IQueueSelector>();
            _logger        = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);

            var clientSetting = new ClientSetting
            {
                ClientName            = Name,
                ClusterName           = Setting.ClusterName,
                NameServerList        = Setting.NameServerList,
                SocketSetting         = Setting.SocketSetting,
                OnlyFindMasterBroker  = true,
                SendHeartbeatInterval = Setting.HeartbeatBrokerInterval,
                RefreshBrokerAndTopicRouteInfoInterval = Setting.RefreshBrokerAndTopicRouteInfoInterval
            };

            _clientService = new ClientService(clientSetting, this, null);
        }
Exemplo n.º 3
0
 public Producer(ProducerSetting setting, string id)
 {
     Id = id;
     Setting = setting ?? new ProducerSetting();
     _topicQueueCountDict = new ConcurrentDictionary<string, int>();
     _taskIds = new List<int>();
     _remotingClient = new SocketRemotingClient(Setting.BrokerAddress, Setting.BrokerPort);
     _scheduleService = ObjectContainer.Resolve<IScheduleService>();
     _binarySerializer = ObjectContainer.Resolve<IBinarySerializer>();
     _queueSelector = ObjectContainer.Resolve<IQueueSelector>();
     _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().Name);
 }
Exemplo n.º 4
0
        public Producer(ProducerSetting setting)
        {
            Setting = setting ?? new ProducerSetting();

            _topicQueueIdsDict = new ConcurrentDictionary<string, IList<int>>();
            _remotingClient = new SocketRemotingClient(Setting.BrokerAddress, Setting.SocketSetting, Setting.LocalAddress);
            _adminRemotingClient = new SocketRemotingClient(Setting.BrokerAdminAddress, Setting.SocketSetting, Setting.LocalAdminAddress);
            _scheduleService = ObjectContainer.Resolve<IScheduleService>();
            _queueSelector = ObjectContainer.Resolve<IQueueSelector>();
            _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName);

            _remotingClient.RegisterConnectionEventListener(new ConnectionEventListener(this));
        }
Exemplo n.º 5
0
        public Producer(ProducerSetting setting)
        {
            Setting = setting ?? new ProducerSetting();

            _topicQueueIdsDict   = new ConcurrentDictionary <string, IList <int> >();
            _remotingClient      = new SocketRemotingClient(Setting.BrokerAddress, Setting.SocketSetting, Setting.LocalAddress);
            _adminRemotingClient = new SocketRemotingClient(Setting.BrokerAdminAddress, Setting.SocketSetting, Setting.LocalAdminAddress);
            _scheduleService     = ObjectContainer.Resolve <IScheduleService>();
            _queueSelector       = ObjectContainer.Resolve <IQueueSelector>();
            _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);

            _remotingClient.RegisterConnectionEventListener(new ConnectionEventListener(this));
        }
Exemplo n.º 6
0
 public Producer(string id, ProducerSetting setting)
 {
     if (id == null)
     {
         throw new ArgumentNullException("id");
     }
     Id      = id;
     Setting = setting ?? new ProducerSetting();
     _topicQueueCountDict = new ConcurrentDictionary <string, int>();
     _taskIds             = new List <int>();
     _remotingClient      = new SocketRemotingClient(Setting.BrokerAddress, Setting.BrokerPort);
     _scheduleService     = ObjectContainer.Resolve <IScheduleService>();
     _binarySerializer    = ObjectContainer.Resolve <IBinarySerializer>();
     _queueSelector       = ObjectContainer.Resolve <IQueueSelector>();
     _logger = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
 }
Exemplo n.º 7
0
        public Producer(string id, ProducerSetting setting)
        {
            if (id == null)
            {
                throw new ArgumentNullException("id");
            }
            Id = id;
            Setting = setting ?? new ProducerSetting();

            _lockObject = new object();
            _taskIds = new List<int>();
            _topicQueueIdsDict = new ConcurrentDictionary<string, IList<int>>();
            _remotingClient = new SocketRemotingClient(Setting.BrokerProducerIPEndPoint, null, this);
            _scheduleService = ObjectContainer.Resolve<IScheduleService>();
            _queueSelector = ObjectContainer.Resolve<IQueueSelector>();
            _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName);
        }
Exemplo n.º 8
0
        public Producer(string id, ProducerSetting setting)
        {
            if (id == null)
            {
                throw new ArgumentNullException("id");
            }
            Id      = id;
            Setting = setting ?? new ProducerSetting();

            _lockObject        = new object();
            _taskIds           = new List <int>();
            _topicQueueIdsDict = new ConcurrentDictionary <string, IList <int> >();
            _remotingClient    = new SocketRemotingClient(Setting.BrokerProducerIPEndPoint, null, this);
            _scheduleService   = ObjectContainer.Resolve <IScheduleService>();
            _queueSelector     = ObjectContainer.Resolve <IQueueSelector>();
            _logger            = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);
        }
Exemplo n.º 9
0
        public Producer(string id, ProducerSetting setting)
        {
            if (id == null)
            {
                throw new ArgumentNullException("id");
            }
            Id      = id;
            Setting = setting ?? new ProducerSetting();

            _lockObject        = new object();
            _topicQueueIdsDict = new ConcurrentDictionary <string, IList <int> >();
            _remotingClient    = new SocketRemotingClient(Id + ".RemotingClient", Setting.BrokerAddress, Setting.LocalAddress);
            _scheduleService   = ObjectContainer.Resolve <IScheduleService>();
            _queueSelector     = ObjectContainer.Resolve <IQueueSelector>();
            _logger            = ObjectContainer.Resolve <ILoggerFactory>().Create(GetType().FullName);

            _remotingClient.RegisterConnectionEventListener(new ConnectionEventListener(this));
        }
Exemplo n.º 10
0
        public Producer(string id, ProducerSetting setting)
        {
            if (id == null)
            {
                throw new ArgumentNullException("id");
            }
            Id = id;
            Setting = setting ?? new ProducerSetting();

            _lockObject = new object();
            _topicQueueIdsDict = new ConcurrentDictionary<string, IList<int>>();
            _remotingClient = new SocketRemotingClient(Id + ".RemotingClient", Setting.BrokerAddress, Setting.LocalAddress);
            _scheduleService = ObjectContainer.Resolve<IScheduleService>();
            _queueSelector = ObjectContainer.Resolve<IQueueSelector>();
            _logger = ObjectContainer.Resolve<ILoggerFactory>().Create(GetType().FullName);

            _remotingClient.RegisterConnectionEventListener(new ConnectionEventListener(this));
        }