示例#1
0
        public Task StartAsync(CancellationToken cancellationToken)
        {
            try
            {
                _manager = new MQServcieManager();

                foreach (var dbMapping in _rabitMqOption.DbTables)
                {
                    _manager.AddService(new ConsumeService(_rabitMqOption, dbMapping, _dbTypeMapper)
                    {
                        OnAction = OnActionOutput
                    });
                }

                _manager.OnAction = OnActionOutput;
                _manager.Start();
                AppDomain.CurrentDomain.ProcessExit += CurrentDomainOnProcessExit;
                _logger.LogInformation("rabit consume client start succ...");
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, "rabit consume client start error...");
            }
            return(Task.CompletedTask);
        }
示例#2
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory factory, IApplicationLifetime lifeTime)
        {
            serviceManager = new MQServcieManager(this.Configuration, factory.CreateLogger <MQServcieManager>());
            lifeTime.ApplicationStarted.Register(() => { serviceManager.Start(); });
            lifeTime.ApplicationStopping.Register(() => { serviceManager.Stop(); });

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();
            app.UseCookiePolicy();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }
示例#3
0
 private static void UseRabbitMQ(IConfiguration configuration)
 {
     mqManager = new MQServcieManager(logWriter, filterService, configuration, logger);
     lifeTime.ApplicationStarted.Register(() =>
     {
         mqManager.Start();
     });
     lifeTime.ApplicationStopping.Register(() =>
     {
         mqManager.Stop();
     });
 }
示例#4
0
        public static void Execute()
        {
            //初始化mq连接参数对象
            MQConfig config = new MQConfig()
            {
                Url      = MQ_UrlParam,
                UserName = MQ_UserNameParam.Substring(5),
                Pwd      = string.Concat(MQ_PwdParam.Substring(5, 9), System.Convert.ToInt64(MQ_PwdParam.Substring(14), 2).ToString()),
            };

            MQServcieManager mqManager = new MQServcieManager();

            //循环读取所有已存在的区号列表
            List <string> citycodeList = CityCodeDataManager.GetAllCityCodeList();

            foreach (var item in citycodeList)
            {
                InitMonitorCityCode(mqManager, config, item);
            }

            //监听“创建新地区”的队列
            MonitorNewParking(mqManager, config);

            //监听“付款数据”的队列
            MonitorPayData(mqManager, config);

            //日志记录
            mqManager.OnShowClientAction = OnActionOutputLog;

            //动态添加新地区的回调
            mqManager.AddClientBusAction = OnActionAddClientBus;

            //开始执行
            mqManager.Start();

            Thread tMain = new Thread(() => ThreadMain(mqManager, config));

            tMain.IsBackground = true;
            tMain.Start();
        }
示例#5
0
        static void Test()
        {
            MQConfig config = new MQConfig()
            {
                HostName = "172.16.1.219",
                Password = "******",
                Port     = 5672,
                UserName = "******"
            };

            MQServcieManager manager = new MQServcieManager();

            manager.AddService(new DemoService(config));
            manager.OnAction = OnActionOutput;
            manager.Start();

            Console.WriteLine("服务已启动");
            Console.ReadKey();

            manager.Stop();
            Console.WriteLine("服务已停止,按任意键退出...");
            Console.ReadKey();
        }