public IControlBus Build() { ServiceBus bus = CreateServiceBus(_settings.EndpointCache); try { ConfigureBusSettings(bus); RunPostCreateActions(bus); ConfigureMessageInterceptors(bus); RunBusServiceConfigurators(bus); if (_settings.AutoStart) { bus.Start(); } return(bus); } catch { try { bus.Dispose(); } catch (Exception ex) { _log.Error("Exception disposing of failed bus instance", ex); } throw; } }
static async Task MainAsync() { var config = new ServiceBusConfiguration(new ConfigurationBuilder()); IServiceBus serviceBus = new ServiceBus(config); serviceBus.Subscribe <TestMessage>(DoSomething); Console.ReadKey(); serviceBus.Dispose(); }
public void SimpleTest() { var unity = new UnityContainer(); var tracker = new Tracker(); unity.RegisterInstance(tracker); var config = new Configuration(unity) .SetInputQueue("PSB.App1.Input") .SetErrorQueue("PSB.App1.Error") .AddEndpoint("Paralect.ServiceBus.Test.Messages", "PSB.App2.Input"); var bus = new ServiceBus(config); bus.Run(); var config2 = new Configuration(unity) .SetInputQueue("PSB.App2.Input") .SetErrorQueue("PSB.App2.Error") .AddEndpoint("Paralect.ServiceBus.Test.Messages", "PSB.App1.Input") .AddHandlers(Assembly.GetExecutingAssembly()); var bus2 = new ServiceBus(config2); bus2.Run(); var msg = new SimpleMessage3 { Id = Guid.NewGuid(), Text = "From dddbfdfdgfgusd! Muaha!" }; bus.Send(msg); Thread.Sleep(3000); bus2.Dispose(); bus.Dispose(); Assert.AreEqual(1, tracker.Handlers.Count); Assert.AreEqual(typeof(SimpleMessage3), tracker.Handlers[0]); }
public void SimpleTest() { var unity = new UnityContainer(); var tracker = new Tracker(); unity.RegisterInstance(tracker); var config = new Configuration(unity) .SetInputQueue("PSB.App1.Input") .SetErrorQueue("PSB.App1.Error") .AddEndpoint("Paralect.ServiceBus.Test.Messages", "PSB.App2.Input"); var bus = new ServiceBus(config); bus.Run(); var config2 = new Configuration(unity) .SetInputQueue("PSB.App2.Input") .SetErrorQueue("PSB.App2.Error") .AddEndpoint("Paralect.ServiceBus.Test.Messages", "PSB.App1.Input") .AddHandlers(Assembly.GetExecutingAssembly()); var bus2 = new ServiceBus(config2); bus2.Run() ; var msg = new SimpleMessage3 { Id = Guid.NewGuid(), Text = "From dddbfdfdgfgusd! Muaha!" }; bus.Send(msg); Thread.Sleep(3000); bus2.Dispose(); bus.Dispose(); Assert.AreEqual(1, tracker.Handlers.Count); Assert.AreEqual(typeof(SimpleMessage3), tracker.Handlers[0]); }
protected override void After_each() { _bus.Dispose(); _endpoint.Dispose(); _resolver.Dispose(); }