public HandlerCollection(ILogFactory logFactory, HandlerDescriptorProvider descriptorProvider) { Ensure.NotNull(logFactory, "logFactory"); Ensure.NotNull(descriptorProvider, "descriptorProvider"); this.log = logFactory.Scope("Handlers"); this.descriptorProvider = descriptorProvider; }
public HandlerCollection(Dictionary <Type, HashSet <HandlerDescriptor> > storage, HandlerDescriptorProvider descriptorProvider) { Ensure.NotNull(storage, "storage"); Ensure.NotNull(descriptorProvider, "descriptorProvider"); this.storage = storage; this.descriptorProvider = descriptorProvider; }
public HandlerCollection(ILogFactory logFactory, Dictionary <Type, HashSet <HandlerDescriptor> > storage, HandlerDescriptorProvider descriptorProvider) { Ensure.NotNull(logFactory, "logFactory"); Ensure.NotNull(storage, "storage"); Ensure.NotNull(descriptorProvider, "descriptorProvider"); this.log = logFactory.Scope("Handlers"); this.storage = storage; this.descriptorProvider = descriptorProvider; }
private void Initialize() { CommandExceptionHandlers = new DefaultExceptionHandlerCollection(); DispatcherExceptionHandlers = new DefaultExceptionHandlerCollection(); descriptorProvider = new HandlerDescriptorProvider( typeof(ICommandHandler <>), null, TypeHelper.MethodName <ICommandHandler <object>, object, Task>(h => h.HandleAsync), CommandExceptionHandlers, DispatcherExceptionHandlers ); handlers = new HandlerCollection(log.Factory, descriptorProvider); }
public void AddHandler() { var descriptorProvider = new HandlerDescriptorProvider( typeof(IEventHandler <>), typeof(IEventHandlerContext <>), TypeHelper.MethodName <IEventHandler <object>, object, Task>(h => h.HandleAsync), new DefaultExceptionHandlerCollection(), new DefaultExceptionHandlerCollection() ); HandlerDescriptor descriptor = descriptorProvider.Get(new OrderPlacedHandler(), typeof(OrderPlaced)); Assert.AreEqual(true, descriptor.IsPlain); Assert.AreEqual(false, descriptor.IsEnvelope); Assert.AreEqual(false, descriptor.IsContext); }
/// <summary> /// Creates new instance. /// </summary> /// <param name="store">The publishing store for command persistent delivery.</param> /// <param name="schedulingProvider">The provider of a delay computation for delayed events.</param> public PersistentEventDispatcher(IEventPublishingStore store, ISchedulingProvider schedulingProvider) { Ensure.NotNull(store, "store"); Ensure.NotNull(schedulingProvider, "schedulingProvider"); this.store = store; this.schedulingProvider = schedulingProvider; EventExceptionHandlers = new DefaultExceptionHandlerCollection(); DispatcherExceptionHandlers = new DefaultExceptionHandlerCollection(); this.descriptorProvider = new HandlerDescriptorProvider( typeof(IEventHandler <>), typeof(IEventHandlerContext <>), TypeHelper.MethodName <IEventHandler <object>, object, Task>(h => h.HandleAsync), EventExceptionHandlers, DispatcherExceptionHandlers ); Handlers = new HandlerCollection(storage, descriptorProvider); }
public HandlerCollection(HandlerDescriptorProvider descriptorProvider) { Ensure.NotNull(descriptorProvider, "descriptorProvider"); this.descriptorProvider = descriptorProvider; }