@Override public boolean isRunning() { for (MessageListenerContainer listenerContainer : getListenerContainers()) { if (listenerContainer.isRunning()) { return true; } } return false; }
@Override public boolean isRunning() { for (MessageListenerContainer listenerContainer : getListenerContainers()) { if (listenerContainer.isRunning()) { return true; } } return false; }
@Test public void testProperShutdownOnException() { ConfigurableApplicationContext context = new AnnotationConfigApplicationContext( ProperShutdownConfig.class, RabbitListenersBean.class, ClassLevelListenersBean.class); RabbitListenerEndpointRegistry listenerEndpointRegistry = context.getBean(RabbitListenerEndpointRegistry.class); // Previously this takes 30 seconds to finish (see DefaultLifecycleProcessor#timeoutPerShutdownPhase) // And not all containers has been stopped from the RabbitListenerEndpointRegistry context.close(); for (MessageListenerContainer messageListenerContainer : listenerEndpointRegistry.getListenerContainers()) { assertFalse(messageListenerContainer.isRunning()); } }
@Test public void simpleDirectEndpoint() { MessageListenerContainer container = this.registry.getListenerContainer("direct"); assertFalse(container.isRunning()); container.start(); String reply = (String) rabbitTemplate.convertSendAndReceive("test.simple.direct", "foo"); assertThat(reply, startsWith("FOOfoo")); assertThat(reply, containsString("rabbitClientThread-")); // container runs on client thread assertThat(TestUtils.getPropertyValue(container, "consumersPerQueue"), equalTo(2)); }