public ActivitySubscriber(ActivitySubscriberConfig subscriberConfig)
 {
     Guard.ArgumentNotNull <ActivitySubscriberConfig>(subscriberConfig);
     Guard.ArgumentNotEmpty(subscriberConfig.Name);
     this.subscriberConfig = subscriberConfig;
     this.activityFilter   = new ActivityFilterList(subscriberConfig.ActivityFilters);
 }
 public AbstractActivityDispatcher(ActivitySubscriberConfig subscriberConfig)
 {
     Guard.ArgumentNotNull <ActivitySubscriberConfig>(subscriberConfig);
     Guard.ArgumentNotEmpty(subscriberConfig.Name);
     this.Name           = subscriberConfig.Name;
     this.Enabled        = subscriberConfig.Enabled;
     this.activityFilter = new ActivityFilterList(subscriberConfig.ActivityFilters);
     this.activityQueue  = new PersistentQueueProcessor <Activity>(subscriberConfig.Name, TryHandleActivity);
     if (this.Enabled)
     {
         this.activityQueue.Start();
     }
 }
        public virtual void ReloadConfig()
        {
            ActivitySubscriberConfig subscriberConfig = BaseConfig <ActivityEngineConfig> .Instance.GetActivitySubscriberConfig(this.Name);

            if (subscriberConfig == null)
            {
                this.Enabled = false;
                this.activityQueue.Stop();
                return;
            }
            this.Enabled        = subscriberConfig.Enabled;
            this.activityFilter = new ActivityFilterList(subscriberConfig.ActivityFilters);
            if (this.Enabled)
            {
                this.activityQueue.Start();
                return;
            }
            this.activityQueue.Stop();
        }