示例#1
0
        public override Task <ConfigManager> GetConfig(NullClass request, ServerCallContext context)
        {
            //throw new Exception("f**k");

            var Config = MQService.GetConfig();

            ConfigManager res = new ConfigManager();

            MQServerConfig ServerConfig = new MQServerConfig();

            ServerConfig.Account     = Config.ServerConfig.Account;
            ServerConfig.Host        = Config.ServerConfig.Host;
            ServerConfig.Pass        = Config.ServerConfig.Pass;
            ServerConfig.Port        = Config.ServerConfig.Port;
            ServerConfig.VirtualHost = Config.ServerConfig.VirtualHost;

            res.ServerConfig = ServerConfig;


            foreach (var item in Config.Data)
            {
                MQQueueConfig QueueConfig = new MQQueueConfig();
                QueueConfig.BindingKeys.Add(item.Value.BindingKeys.ToArray());
                QueueConfig.ExchangeName = item.Value.ExchangeName;
                QueueConfig.QueueName    = item.Value.QueueName;
                QueueConfig.ThreadCount  = item.Value.ThreadCount;
                res.Data.Add(item.Key, QueueConfig);
            }


            return(Task.FromResult(res));
        }
示例#2
0
 public PushPollManager(MQServerConfig _Server)
 {
     Server      = _Server;
     ChannelPool = new ChannelPoolManager(Server);
     for (int i = 0; i < 20; i++)
     {
         ChannelPool.NewChannel();
     }
 }
示例#3
0
 /// <summary>
 /// 更新服务配置
 /// </summary>
 /// <param name="_ServerConfig"></param>
 public void UpdateServer(MQServerConfig _ServerConfig)
 {
     Config.UpdateServer(_ServerConfig);
     ConfigManager.SaveConfig(Config);
     if (ReceivedQueueManager != null)
     {
         ReceivedQueueManager.LoadConfig(Config);
     }
 }
示例#4
0
        /// <summary>
        /// 更新服务配置
        /// </summary>
        /// <param name="_ServerConfig"></param>
        public void UpdateServer(MQServerConfig _ServerConfig)
        {
            AutoChannelAddress(ChannelAddress =>
            {
                var client = new MQWebApiMsgServerClient(ChannelAddress);

                var reply = client.UpdateServer(_ServerConfig);

                return(0);
            });

            return;
        }
        /// <summary>
        /// 添加处理程序
        /// </summary>
        /// <param name="Config"></param>
        private void AddQueue(MQConfig.MQQueueConfig Config, MQServerConfig Server)
        {
            if (Config == null || Server == null)
            {
                return;
            }

            if (!DicQueue.ContainsKey(Config.QueueName))
            {
                ReceivedQueueHandler handler = new ReceivedQueueHandler(Config, Server);
                DicQueue.TryAdd(Config.QueueName, handler);
            }
        }
示例#6
0
        public override Task <NullClass> UpdateServer(MQServerConfig request, ServerCallContext context)
        {
            MQServer.MQConfig.MQServerConfig ServerConfig = new MQServer.MQConfig.MQServerConfig();

            ServerConfig.Account     = request.Account;
            ServerConfig.Host        = request.Host;
            ServerConfig.Pass        = request.Pass;
            ServerConfig.Port        = request.Port;
            ServerConfig.VirtualHost = request.VirtualHost;

            MQService.UpdateServer(ServerConfig);

            return(Task.FromResult(new NullClass()
            {
                Res = "ok"
            }));
        }
示例#7
0
 public ChannelPoolManager(MQServerConfig _Serverconfg)
 {
     Serverconfg = _Serverconfg;
 }
 public ReceivedQueueHandler(MQConfig.MQQueueConfig _Config, MQServerConfig _Server)
 {
     Config = _Config;
     Server = _Server;
     Init();
 }