public void add_a_handler_for_a_concrete_class_creates_a_new_chain() { theGraph.Add(concreteCall); var call = theGraph.ChainFor(typeof(Input)).OfType <HandlerCall>().Single(); call.ShouldBe(concreteCall); call.ShouldNotBeTheSameAs(concreteCall); }
public override void SetUp() { _tracker = new AttemptTracker(); var options = new JasperOptions(); options.Extensions.UseMessageTrackingTestingSupport(); options.Endpoints.As <TransportCollection>().Add(new StubTransport()); options.Services.AddSingleton(_tracker); options.Endpoints.Publish(x => x.Message <ErrorCausingMessage>() .To("local://1".ToUri())); _host = JasperHost.For(options); _transport = _host.GetStubTransport(); _graph = _host.Get <HandlerGraph>(); _chain = _graph.ChainFor <ErrorCausingMessage>(); _bus = _host.Get <IMessageContext>(); }
public bool TryExecute(object message, Action <object> onNoConsumer) { var inputType = message.GetType(); var chain = _graph.ChainFor(inputType); if (chain == null) { if (onNoConsumer != null) { onNoConsumer(message); } return(false); } Execute(message); return(true); }
public override void SetUp() { _tracker = new AttemptTracker(); var registry = new JasperRegistry(); registry.Transports.ListenForMessagesFrom("stub://1".ToUri()); registry.Services.AddSingleton(_tracker); registry.Publish.Message <ErrorCausingMessage>() .To("stub://1".ToUri()); _host = JasperHost.For(registry); _transport = _host.GetStubTransport(); _graph = _host.Get <HandlerGraph>(); _chain = _graph.ChainFor <ErrorCausingMessage>(); _bus = _host.Get <IMessageContext>(); }
public override void SetUp() { _transport = new StubTransport(); _tracker = new AttemptTracker(); var registry = new JasperBusRegistry(); registry.ListenForMessagesFrom("stub://1".ToUri()); registry.Services.AddService <ITransport>(_transport); registry.Services.AddService(_tracker); registry.SendMessage <ErrorCausingMessage>() .To("stub://1".ToUri()); _runtime = JasperRuntime.For(registry); _graph = _runtime.Container.GetInstance <HandlerGraph>(); _chain = _graph.ChainFor <ErrorCausingMessage>(); _bus = _runtime.Container.GetInstance <IServiceBus>(); }
public override void SetUp() { _tracker = new AttemptTracker(); var registry = new JasperRegistry(); registry.Transports.ListenForMessagesFrom("stub://1".ToUri()); registry.Services.AddSingleton <ITransport, StubTransport>(); registry.Services.AddSingleton(_tracker); registry.Publish.Message <ErrorCausingMessage>() .To("stub://1".ToUri()); _runtime = JasperRuntime.For(registry); _transport = _runtime.Container.GetAllInstances <ITransport>().OfType <StubTransport>().Single(); _graph = _runtime.Get <HandlerGraph>(); _chain = _graph.ChainFor <ErrorCausingMessage>(); _bus = _runtime.Get <IMessageContext>(); }
public virtual HandlerChain FindChain(Envelope envelope) { var messageType = envelope.Message.GetType(); return(_graph.ChainFor(messageType)); }