public DemoTask() { mq = ProducterPoolHelper.GetPool(new BusinessMQConfig() { ManageConnectString = "server=192.168.4.87;Initial Catalog=dyd_bs_MQ_manage;User ID=sa;Password=123456" }, "maohong"); }
public MQSend() { mq = ProducterPoolHelper.GetPool(new BusinessMQConfig() { ManageConnectString = GetConfig.ManagerConnectStr }, GetConfig.MqPath); }
/// <summary> /// 从连接池中获取生产者 /// </summary> /// <param name="config"></param> /// <param name="mqpath"></param> /// <returns></returns> public static ProducterProvider GetPool(BusinessMQConfig config, string mqpath) { //创建单例 if (_singleton == null) { lock (_singletonlock) { if (_singleton == null) { _singleton = new ProducterPoolHelper(); AppDomain.CurrentDomain.DomainUnload += CurrentDomain_DomainUnload; AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; } } } //查找生产者 ProducterProvider provider = null; mqpath = mqpath.ToLower(); if (Pool.ContainsKey(mqpath)) { provider = Pool[mqpath]; } if (provider == null) { lock (_poollock) { if (Pool.ContainsKey(mqpath)) { provider = Pool[mqpath]; } if (provider == null) { var pt = new ProducterProvider(); pt.Config = config; pt.MQPath = mqpath; pt.Open(); Pool.Add(mqpath, pt); provider = Pool[mqpath]; } } } return provider; }