/// <summary> /// Create new observer /// </summary> public override ITransportEndpointObserver CreateObserver(TransportEndpointAddress transportEndpointAddress) { if (!_queues.ContainsKey(transportEndpointAddress.GetFriendlyName())) throw new Exception(String.Format("There is no queue with name {0}.", transportEndpointAddress.GetFriendlyName())); return (ITransportEndpointObserver) _queues[transportEndpointAddress.GetFriendlyName()]; }
public static void CreateQueue(Action <ITransportEndpoint> action) { var name = new TransportEndpointAddress(Guid.NewGuid().ToString()); var managers = new ITransport[] { new MsmqTransport(), new InMemoryTransport(), new InMemorySynchronousTransport() }; foreach (var manager in managers) { try { manager.CreateEndpoint(name); var queue = manager.OpenEndpoint(name); action(queue); } finally { manager.DeleteEndpoint(name); } } }
public void NotExistCheck() { var name = new TransportEndpointAddress(Guid.NewGuid().ToString()); var manager = new MsmqTransport(); var exists = manager.ExistsEndpoint(name); Assert.AreEqual(exists, false); }
/// <summary> /// Create queue /// </summary> public void PrepareEndpoint(TransportEndpointAddress transportEndpointAddress) { var queue = new MessageQueue(transportEndpointAddress.GetFormatName()); SetupQueue(queue); SetPermissions(queue); }
/// <summary> /// Open queue /// </summary> public ITransportEndpoint OpenEndpoint(TransportEndpointAddress transportEndpointAddress) { var queue = new MessageQueue(transportEndpointAddress.GetFormatName()); SetupQueue(queue); return(new MsmqTransportEndpoint(transportEndpointAddress, queue, this)); }
public ITransportEndpoint OpenEndpoint(TransportEndpointAddress transportEndpointAddress) { if (!_queues.ContainsKey(transportEndpointAddress.GetFriendlyName())) throw new Exception(String.Format("There is no queue with name {0}.", transportEndpointAddress.GetFriendlyName())); return _queues[transportEndpointAddress.GetFriendlyName()]; }
public static void CreateQueue(Action<ITransportEndpoint> action) { var name = new TransportEndpointAddress(Guid.NewGuid().ToString()); var managers = new ITransport[] { new MsmqTransport(), new InMemoryTransport(), new InMemorySynchronousTransport() }; foreach (var manager in managers) { try { manager.CreateEndpoint(name); var queue = manager.OpenEndpoint(name); action(queue); } finally { manager.DeleteEndpoint(name); } } }
public ITransportEndpoint OpenEndpoint(TransportEndpointAddress transportEndpointAddress) { if (!_queues.ContainsKey(transportEndpointAddress.GetFriendlyName())) { throw new Exception(String.Format("There is no queue with name {0}.", transportEndpointAddress.GetFriendlyName())); } return(_queues[transportEndpointAddress.GetFriendlyName()]); }
public ITransportEndpoint OpenEndpoint(TransportEndpointAddress transportEndpointAddress) { if (!Queues.ContainsKey(transportEndpointAddress.GetFriendlyName())) { throw new Exception($"There is no queue with name {transportEndpointAddress.GetFriendlyName()}."); } return(Queues[transportEndpointAddress.GetFriendlyName()]); }
/// <summary> /// Create new observer /// </summary> public override ITransportEndpointObserver CreateObserver(TransportEndpointAddress transportEndpointAddress) { if (!Queues.ContainsKey(transportEndpointAddress.GetFriendlyName())) { throw new Exception($"There is no queue with name {transportEndpointAddress.GetFriendlyName()}."); } return((ITransportEndpointObserver)Queues[transportEndpointAddress.GetFriendlyName()]); }
/// <summary> /// Create new observer /// </summary> public override ITransportEndpointObserver CreateObserver(TransportEndpointAddress transportEndpointAddress) { if (!_queues.ContainsKey(transportEndpointAddress.GetFriendlyName())) { throw new Exception(String.Format("There is no queue with name {0}.", transportEndpointAddress.GetFriendlyName())); } return((ITransportEndpointObserver)_queues[transportEndpointAddress.GetFriendlyName()]); }
public virtual void CreateEndpoint(TransportEndpointAddress transportEndpointAddress) { var queue = new InMemoryTransportEndpoint(transportEndpointAddress, this); Queues[transportEndpointAddress.GetFriendlyName()] = queue; }
public bool ExistsEndpoint(TransportEndpointAddress transportEndpointAddress) { return(Queues.ContainsKey(transportEndpointAddress.GetFriendlyName())); }
/// <summary> /// Create queue /// </summary> public override void CreateEndpoint(TransportEndpointAddress transportEndpointAddress) { var queue = new InMemorySynchronousTransportEndpoint(transportEndpointAddress, this); _queues[transportEndpointAddress.GetFriendlyName()] = queue; }
/// <summary> /// Delete particular queue /// </summary> public void DeleteEndpoint(TransportEndpointAddress transportEndpointAddress) { MessageQueue.Delete(transportEndpointAddress.GetFormatName()); }
public ITransportEndpointObserver CreateObserver(TransportEndpointAddress transportEndpointAddress) { return new SingleThreadTransportEndpointObserver(this, transportEndpointAddress, _threadName); }
public virtual ITransportEndpointObserver CreateObserver(TransportEndpointAddress transportEndpointAddress) { return new SingleThreadTransportEndpointObserver(this, transportEndpointAddress); }
public void PrepareEndpoint(TransportEndpointAddress transportEndpointAddress) { // nothing to do here... }
public virtual void CreateEndpoint(TransportEndpointAddress transportEndpointAddress) { var queue = new InMemoryTransportEndpoint(transportEndpointAddress, this); _queues[transportEndpointAddress.GetFriendlyName()] = queue; }
public void DeleteEndpoint(TransportEndpointAddress transportEndpointAddress) { _queues.Remove(transportEndpointAddress.GetFriendlyName()); }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public MsmqTransportEndpoint(TransportEndpointAddress name, MessageQueue messageQueue, MsmqTransport transport) { Name = name; _messageQueue = messageQueue; _transport = transport; }
public bool ExistsEndpoint(TransportEndpointAddress transportEndpointAddress) { return _queues.ContainsKey(transportEndpointAddress.GetFriendlyName()); }
public void SimpleTest() { var inputQueueName1 = new TransportEndpointAddress(Guid.NewGuid().ToString()); var inputQueueName2 = new TransportEndpointAddress(Guid.NewGuid().ToString()); ServiceBusConfiguration config1 = null; ServiceBusConfiguration config2 = null; try { var unity = new UnityContainer(); var tracker = new Tracker(); unity.RegisterInstance(tracker); var bus1 = ServiceBus.Create(c => c .SetServiceLocator(new UnityServiceLocator(unity)) .MsmqTransport() .SetInputQueue(inputQueueName1.GetFriendlyName()) .AddEndpoint("Paralect.ServiceBus.Test.Messages", inputQueueName2.GetFriendlyName()) .Out(out config1) ); var bus2 = ServiceBus.Create(c => c .SetServiceLocator(new UnityServiceLocator(unity)) .MsmqTransport() .SetInputQueue(inputQueueName2.GetFriendlyName()) .AddEndpoint("Paralect.ServiceBus.Test.Messages", inputQueueName1.GetFriendlyName()) .Dispatcher(d => d .AddHandlers(Assembly.GetExecutingAssembly()) .AddInterceptor(typeof(FirstInterceptor)) .AddInterceptor(typeof(SecondInterceptor)) ) .Out(out config2) ); using (bus1) using (bus2) { bus1.Run(); bus2.Run(); var msg = new Message1("Hello", 2012); bus1.Send(msg); bus2.Wait(); bus1.Wait(); Assert.AreEqual(1, tracker.Handlers.Count); Assert.AreEqual(2, tracker.Interceptors.Count); Assert.AreEqual(typeof(Message1), tracker.Handlers[0]); Assert.AreEqual(typeof(FirstInterceptor), tracker.Interceptors[0]); Assert.AreEqual(typeof(SecondInterceptor), tracker.Interceptors[1]); } } catch (Exception ex) { var z = 45; throw; } finally { var queueProvider1 = TransportRegistry.GetQueueProvider(inputQueueName1); queueProvider1.DeleteEndpoint(config1.InputQueue); queueProvider1.DeleteEndpoint(config1.ErrorQueue); var queueProvider2 = TransportRegistry.GetQueueProvider(inputQueueName2); queueProvider2.DeleteEndpoint(config2.InputQueue); queueProvider2.DeleteEndpoint(config2.ErrorQueue); } }
public ITransportEndpointObserver CreateObserver(TransportEndpointAddress transportEndpointAddress) { return(new SingleThreadTransportEndpointObserver(this, transportEndpointAddress, _threadName)); }
private void TestTwoBus(Action<ServiceBusConfiguration> configModification1, Action<ServiceBusConfiguration> configModification2) { var inputQueueName1 = new TransportEndpointAddress(Guid.NewGuid().ToString()); var inputQueueName2 = new TransportEndpointAddress(Guid.NewGuid().ToString()); ServiceBusConfiguration config1 = null; ServiceBusConfiguration config2 = null; try { var tracker = new Tracker(); var unity = new UnityContainer() .RegisterInstance(tracker); var bus1 = ServiceBus.Create(c => c .SetServiceLocator(new UnityServiceLocator(unity)) .SetInputQueue(inputQueueName1.GetFriendlyName()) .AddEndpoint("Paralect.ServiceBus.Test.Messages", inputQueueName2.GetFriendlyName()) .Modify(configModification1) .Out(out config1) ); var bus2 = ServiceBus.Create(c => c .SetServiceLocator(new UnityServiceLocator(unity)) .SetInputQueue(inputQueueName2.GetFriendlyName()) .AddEndpoint("Paralect.ServiceBus.Test.Messages", inputQueueName1.GetFriendlyName()) .Dispatcher(d => d .AddHandlers(Assembly.GetExecutingAssembly()) ) .Out(out config2) .Modify(configModification2) ); using (bus1) using (bus2) { bus1.Run(); bus2.Run(); var msg = new Message1("Hello", 2010); var msg2 = new Message1("Hello2", 2010); bus1.Send(msg); bus2.Send(msg2); bus2.Wait(); bus1.Wait(); } Assert.AreEqual(1, tracker.Handlers.Count); Assert.AreEqual(typeof(Message1), tracker.Handlers[0]); } finally { var queueProvider1 = TransportRegistry.GetQueueProvider(inputQueueName1); queueProvider1.DeleteEndpoint(config1.InputQueue); queueProvider1.DeleteEndpoint(config1.ErrorQueue); var queueProvider2 = TransportRegistry.GetQueueProvider(inputQueueName2); queueProvider2.DeleteEndpoint(config2.InputQueue); queueProvider2.DeleteEndpoint(config2.ErrorQueue); } }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public MsmqTransportEndpoint(TransportEndpointAddress name, MessageQueue messageQueue, MsmqTransport transport) { _name = name; _messageQueue = messageQueue; _transport = transport; }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public InMemorySynchronousTransportEndpoint(TransportEndpointAddress name, ITransport transport) { _name = name; _transport = transport; }
/// <summary> /// Create queue /// </summary> public void CreateEndpoint(TransportEndpointAddress transportEndpointAddress) { var queue = MessageQueue.Create(transportEndpointAddress.GetLocalName(), true); // transactional SetupQueue(queue); }
public void DeleteEndpoint(TransportEndpointAddress transportEndpointAddress) { Queues.Remove(transportEndpointAddress.GetFriendlyName()); }
/// <summary> /// Open queue /// </summary> public ITransportEndpoint OpenEndpoint(TransportEndpointAddress transportEndpointAddress) { var queue = new MessageQueue(transportEndpointAddress.GetFormatName()); SetupQueue(queue); return new MsmqTransportEndpoint(transportEndpointAddress, queue, this); }
/// <summary> /// Check existence of queue /// </summary> public Boolean ExistsEndpoint(TransportEndpointAddress transportEndpointAddress) { return(MessageQueue.Exists(transportEndpointAddress.GetLocalName())); }
public virtual ITransportEndpointObserver CreateObserver(TransportEndpointAddress transportEndpointAddress) { return(new SingleThreadTransportEndpointObserver(this, transportEndpointAddress)); }
private void TestTwoBus(Action <ServiceBusConfiguration> configModification1, Action <ServiceBusConfiguration> configModification2) { var inputQueueName1 = new TransportEndpointAddress(Guid.NewGuid().ToString()); var inputQueueName2 = new TransportEndpointAddress(Guid.NewGuid().ToString()); ServiceBusConfiguration config1 = null; ServiceBusConfiguration config2 = null; try { var tracker = new Tracker(); var unity = new UnityContainer() .RegisterInstance(tracker); var bus1 = ServiceBus.Create(c => c .SetServiceLocator(new UnityServiceLocator(unity)) .SetInputQueue(inputQueueName1.GetFriendlyName()) .AddEndpoint("Paralect.ServiceBus.Test.Messages", inputQueueName2.GetFriendlyName()) .Modify(configModification1) .Out(out config1) ); var bus2 = ServiceBus.Create(c => c .SetServiceLocator(new UnityServiceLocator(unity)) .SetInputQueue(inputQueueName2.GetFriendlyName()) .AddEndpoint("Paralect.ServiceBus.Test.Messages", inputQueueName1.GetFriendlyName()) .Dispatcher(d => d .AddHandlers(Assembly.GetExecutingAssembly()) ) .Out(out config2) .Modify(configModification2) ); using (bus1) using (bus2) { bus1.Run(); bus2.Run(); var msg = new Message1("Hello", 2010); var msg2 = new Message1("Hello2", 2010); bus1.Send(msg); bus2.Send(msg2); bus2.Wait(); bus1.Wait(); } Assert.AreEqual(1, tracker.Handlers.Count); Assert.AreEqual(typeof(Message1), tracker.Handlers[0]); } finally { var queueProvider1 = TransportRegistry.GetQueueProvider(inputQueueName1); queueProvider1.DeleteEndpoint(config1.InputQueue); queueProvider1.DeleteEndpoint(config1.ErrorQueue); var queueProvider2 = TransportRegistry.GetQueueProvider(inputQueueName2); queueProvider2.DeleteEndpoint(config2.InputQueue); queueProvider2.DeleteEndpoint(config2.ErrorQueue); } }
/// <summary> /// Initializes a new instance of the <see cref="T:System.Object"/> class. /// </summary> public InMemoryTransportEndpoint(TransportEndpointAddress name, ITransport transport) { Name = name; Transport = transport; }
/// <summary> /// Check existence of queue /// </summary> public Boolean ExistsEndpoint(TransportEndpointAddress transportEndpointAddress) { return MessageQueue.Exists(transportEndpointAddress.GetLocalName()); }