private bool HandleActivity(PersistentQueueProcessor <ActivityWithTarget> queue, ActivityWithTarget activity) { bool result; try { ActivitySubscriber subscriber; if (this.activitySubscribers.TryGetValue(activity.Target, out subscriber) && subscriber.Enabled) { result = subscriber.HandleActivity(new Activity[] { activity.Activity }); } else { result = true; } } catch (Exception ex) { LoggerWrapper.Logger.Error("MultiSubscriberActivityDispatcher", ex); result = false; } return(result); }
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(); } }
private bool TryHandleActivity(PersistentQueueProcessor <Activity> queue, Activity activity) { bool result; try { result = this.HandleActivity(queue, activity); } catch (Exception ex) { LoggerWrapper.Logger.Error("AbstractActivityDispatcher", ex); result = false; } return(result); }
protected abstract bool HandleActivity(PersistentQueueProcessor <Activity> queue, Activity activity);
public MultiSubscriberActivityDispatcher() { this.BuildActivitySubscribers(); this.activityQueue = new PersistentQueueProcessor <ActivityWithTarget>(this.Name, new PersistentQueueProcessor <ActivityWithTarget> .QueueItemHandler(this.HandleActivity)); this.activityQueue.Start(); }