예제 #1
0
파일: DemoTask.cs 프로젝트: mmmhong/CPC
 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");
 }
예제 #2
0
파일: MQHelper.cs 프로젝트: mmmhong/CPC
 public MQSend()
 {
     mq = ProducterPoolHelper.GetPool(new BusinessMQConfig()
     {
         ManageConnectString = GetConfig.ManagerConnectStr
     }, GetConfig.MqPath);
 }
예제 #3
0
 /// <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;
 }