public void NeedAnInner() { var builder = new PipelineDispatcherBuilder(Substitute.For<IUpstreamHandler>()); builder.AsyncDispatching(10); Assert.Throws<InvalidOperationException>(() => builder.Build()); }
public void Complete() { var builder = new PipelineDispatcherBuilder(Substitute.For<IUpstreamHandler>()); var dispatcher = builder .AsyncDispatching(10) .RetryCommands(4) .Dispatcher(Substitute.For<IDownstreamHandler>()) .Build(); CommandDispatcher.Assign(dispatcher); CommandDispatcher.Dispatch(new FakeCommand()); }
private static void ConfigureCommands(ErrorHandler errorHandler, Container container) { // will also assign the pipeline var dispatcher = new PipelineDispatcherBuilder(errorHandler) .AsyncDispatching(10) // allow 10 commands to be dispatched simultaneosly .UseGriffinContainer(container) // Use Griffin.Container (the "Griffin.Decoupled.Container" nuget package) .UseRavenDbEmbedded() // use RavenDb to store pending commands (the "Griffin.Decoupled.RavenDb.Embedded" nuget package) .Build(); // and lets go. // assign it CommandDispatcher.Assign(dispatcher); }
private static void Main(string[] args) { var container = ConfigureGriffinContainer(); // will recieve any pipeline errors (i.e. failing to deliver the commands) var errorHandler = new ErrorHandler(); // will also assign the pipeline var dispatcher = new PipelineDispatcherBuilder(errorHandler) .AsyncDispatching(10) // allow 10 commands to be dispatched simultaneosly .UseGriffinContainer(container) // Use Griffin.Container (the "griffin.decoupled.container" nuget package) .Build(); // and lets go. // assign it CommandDispatcher.Assign(dispatcher); Console.WriteLine("We are on thread #" + Thread.CurrentThread.ManagedThreadId); CommandDispatcher.Dispatch(new SayHello()); Console.ReadLine(); }
private static void Main(string[] args) { var container = ConfigureGriffinContainer(); // will recieve any pipeline errors (i.e. failure to deliver the messages) var errorHandler = new ErrorHandler(); // will also assign the pipeline var dispatcher = new PipelineDispatcherBuilder(errorHandler) .AsyncDispatching(10) // allow 10 commands to be dispatched simultaneosly .RetryCommands(3) // attempt to execute commands three times. .UseGriffinContainer(container) // Use Griffin.Container (the "Griffin.Decoupled.Container" nuget package) .UseRavenDbEmbedded() // use RavenDb to store pending commands (the "Griffin.Decoupled.RavenDb.Embedded" nuget package) .Build(); // and lets go. // assign it CommandDispatcher.Assign(dispatcher); Console.WriteLine("We are on thread #" + Thread.CurrentThread.ManagedThreadId); CommandDispatcher.Dispatch(new SayHello()); Console.ReadLine(); }