/// <summary> /// Initializes a new instance of the <see cref="HomeController"/> class. /// </summary> /// <param name="options"></param> /// <param name="logger">The logger.</param> /// <param name="consumer"></param> /// <param name="producer"></param> /// <param name="admin"></param> public HomeController( IOptions <TestOptions> options, ILogger <HomeController> logger, TestConsumer consumer, TestProducer producer, TestAdmin admin) { this.logger = logger; this.options = options; this.consumer = consumer; this.producer = producer; this.admin = admin; this.logger.LogDebug($"{nameof(HomeController)}: Was initialized."); }
public ListenFromAutoDeleteQueueTest() { connectionFactory = new CachingConnectionFactory("localhost") { IsPublisherReturns = true }; // Container Admin containerAdmin = new TestAdmin(connectionFactory); // Exchange var directExchange = new DirectExchange("testContainerWithAutoDeleteQueues", true, true); listenerContainer1 = new DirectMessageListenerContainer(null, connectionFactory, "container1"); listenerContainer1.ConsumersPerQueue = 2; listenerContainer1.AddQueueNames(Q1, Q2); containerAdmin.DeclareExchange(directExchange); containerAdmin.DeclareQueue(new Config.Queue(Q1, true, false, true)); containerAdmin.DeclareQueue(new Config.Queue(Q2, true, false, true)); containerAdmin.DeclareBinding(new Binding("b1", Q1, Binding.DestinationType.QUEUE, directExchange.ExchangeName, Q1, null)); containerAdmin.DeclareBinding(new Binding("b2", Q2, Binding.DestinationType.QUEUE, directExchange.ExchangeName, Q2, null)); // Listener listener = new AppendingListener(); var adapter = new MessageListenerAdapter(null, listener); listenerContainer1.MessageListener = adapter; listenerContainer1.Start(); listenerContainer1._startedLatch.Wait(TimeSpan.FromSeconds(10)); // Conditional declarations var otherExchange = new DirectExchange(Exch2, true, true); containerAdmin.DeclareExchange(otherExchange); containerAdmin.DeclareQueue(new Config.Queue(Q3, true, false, true)); containerAdmin.DeclareBinding(new Binding("b3", Q3, Binding.DestinationType.QUEUE, otherExchange.ExchangeName, Q3, null)); listenerContainer2 = new DirectMessageListenerContainer(null, connectionFactory, "container2"); listenerContainer2.IsAutoStartup = false; listenerContainer2.ShutdownTimeout = 50; listenerContainer2.AddQueueNames(Q3); listenerContainer2.MessageListener = adapter; expiringQueue = new Config.Queue(Guid.NewGuid().ToString(), true, false, false, new Dictionary <string, object>() { { "x-expires", 200 } }); containerAdmin.DeclareQueue(expiringQueue); listenerContainer3 = new DirectMessageListenerContainer(null, connectionFactory, "container3"); listenerContainer3.IsAutoStartup = false; listenerContainer3.ShutdownTimeout = 50; listenerContainer3.AddQueueNames(expiringQueue.QueueName); listenerContainer3.MessageListener = adapter; listenerContainer4 = new DirectMessageListenerContainer(null, connectionFactory, "container4"); listenerContainer4.IsAutoStartup = false; listenerContainer4.ShutdownTimeout = 50; listenerContainer4.AddQueueNames(Q2); listenerContainer4.MessageListener = adapter; listenerContainer4.AutoDeclare = false; }