public void SetUp() { routingTopology = new ConventionalRoutingTopology(); receivedMessages = new BlockingCollection <TransportMessage>(); var config = new ConnectionConfiguration(); config.ParseHosts("localhost:5672"); var selectionStrategy = new DefaultClusterHostSelectionStrategy <ConnectionFactoryInfo>(); var connectionFactory = new ConnectionFactoryWrapper(config, selectionStrategy); connectionManager = new RabbitMqConnectionManager(connectionFactory, config); unitOfWork = new RabbitMqUnitOfWork { ConnectionManager = connectionManager, UsePublisherConfirms = true, MaxWaitTimeForConfirms = TimeSpan.FromSeconds(10) }; sender = new RabbitMqMessageSender { UnitOfWork = unitOfWork, RoutingTopology = routingTopology }; dequeueStrategy = new RabbitMqDequeueStrategy { ConnectionManager = connectionManager, PurgeOnStartup = true }; MakeSureQueueAndExchangeExists(ReceiverQueue); MessagePublisher = new RabbitMqMessagePublisher { UnitOfWork = unitOfWork, RoutingTopology = routingTopology }; subscriptionManager = new RabbitMqSubscriptionManager { ConnectionManager = connectionManager, EndpointQueueName = ReceiverQueue, RoutingTopology = routingTopology }; dequeueStrategy.Init(Address.Parse(ReceiverQueue), TransactionSettings.Default, m => { receivedMessages.Add(m); return(true); }, (s, exception) => { }); dequeueStrategy.Start(MaximumConcurrency); }
void SetupMessageSender() { unitOfWork = new RabbitMqUnitOfWork { ConnectionManager = connectionManager }; sender = new RabbitMqMessageSender { UnitOfWork = unitOfWork }; }
public void SetUp() { routingTopology = new ConventionalRoutingTopology(); receivedMessages = new BlockingCollection<TransportMessage>(); var config = new ConnectionConfiguration(); config.ParseHosts("localhost:5672"); var selectionStrategy = new DefaultClusterHostSelectionStrategy<ConnectionFactoryInfo>(); var connectionFactory = new ConnectionFactoryWrapper(config, selectionStrategy); connectionManager = new RabbitMqConnectionManager(connectionFactory, config); unitOfWork = new RabbitMqUnitOfWork { ConnectionManager = connectionManager, UsePublisherConfirms = true, MaxWaitTimeForConfirms = TimeSpan.FromSeconds(10) }; sender = new RabbitMqMessageSender { UnitOfWork = unitOfWork, RoutingTopology = routingTopology }; dequeueStrategy = new RabbitMqDequeueStrategy { ConnectionManager = connectionManager, PurgeOnStartup = true }; MakeSureQueueAndExchangeExists(ReceiverQueue); MessagePublisher = new RabbitMqMessagePublisher { UnitOfWork = unitOfWork, RoutingTopology = routingTopology }; subscriptionManager = new RabbitMqSubscriptionManager { ConnectionManager = connectionManager, EndpointQueueName = ReceiverQueue, RoutingTopology = routingTopology }; dequeueStrategy.Init(Address.Parse(ReceiverQueue), TransactionSettings.Default, m => { receivedMessages.Add(m); return true; }, (s, exception) => { }); dequeueStrategy.Start(MaximumConcurrency); }
public void SetUp() { routingTopology = new ConventionalRoutingTopology(true); receivedMessages = new BlockingCollection <TransportMessage>(); var config = new ConnectionConfiguration(); config.ParseHosts("localhost:5672"); var connectionFactory = new RabbitMqConnectionFactory(config); connectionManager = new RabbitMqConnectionManager(connectionFactory, config); publishChannel = connectionManager.GetPublishConnection().CreateModel(); var channelProvider = new FakeChannelProvider(publishChannel); sender = new RabbitMqMessageSender(routingTopology, channelProvider, new IncomingContext(null, null)); dequeueStrategy = new RabbitMqDequeueStrategy(connectionManager, new RepeatedFailuresOverTimeCircuitBreaker("UnitTest", TimeSpan.FromMinutes(2), e => {}), new ReceiveOptions(s => SecondaryReceiveSettings.Enabled(CallbackQueue, 1), new MessageConverter(), 1, 1000, false, "Unit test")); MakeSureQueueAndExchangeExists(ReceiverQueue); MessagePublisher = new RabbitMqMessagePublisher { ChannelProvider = channelProvider, RoutingTopology = routingTopology }; subscriptionManager = new RabbitMqSubscriptionManager { ConnectionManager = connectionManager, EndpointQueueName = ReceiverQueue, RoutingTopology = routingTopology }; dequeueStrategy.Init(Address.Parse(ReceiverQueue), new TransactionSettings(true, TimeSpan.FromSeconds(30), IsolationLevel.ReadCommitted, 5, false, false), m => { receivedMessages.Add(m); return(true); }, (s, exception) => { }); dequeueStrategy.Start(MaximumConcurrency); }
static void Main(string[] args) { IMessageSender ms = new RabbitMqMessageSender("TestQ"); Console.WriteLine("Connected to TestQ..."); var o = new Wibbler("Hello Matey"); ms.PublishObjectAsMessage(o); RabbitMqMessageReceiver mr = new RabbitMqMessageReceiver("TestQ"); mr.Consumer.Received += (sender, e) => { var body = e.Body; var message = Encoding.UTF8.GetString(body); Wibbler w = JsonConvert.DeserializeObject <Wibbler>(message); Console.SetCursorPosition(0, Console.CursorTop - 2); Console.WriteLine($" [x] Received {w.Id} on {mr.QueueName}, containing the comment {w.Comment}"); Console.WriteLine(" "); Console.WriteLine("Press [enter] to exit..."); }; mr.ConsumeMessage(); Console.WriteLine("Press [enter] to exit..."); var t = new System.Timers.Timer(5000); t.Elapsed += (sender, e) => { ms.PublishObjectAsMessage(o); }; t.Start(); Console.ReadLine(); ms.Dispose(); mr.Dispose(); }
void SetupMessageSender() { unitOfWork = new RabbitMqUnitOfWork {ConnectionManager = connectionManager}; sender = new RabbitMqMessageSender {UnitOfWork = unitOfWork}; }
void SetupMessageSender() { sender = new RabbitMqMessageSender(null, new FakeChannelProvider(publishChannel), new IncomingContext(null, null)); }
void SetupMessageSender() { sender = new RabbitMqMessageSender { ChannelProvider = new FakeChannelProvider(publishChannel) }; }