throw new RuntimeException("bar");
}
});
container.start();
Log logger = spy(TestUtils.getPropertyValue(container, "logger", Log.class));
new DirectFieldAccessor(container).setPropertyValue("logger", logger);
when(logger.isWarnEnabled()).thenReturn(true);
template.convertAndSend(queue.getName(), "baz");
assertTrue(messageReceived.await(10, TimeUnit.SECONDS));
Object consumer = TestUtils.getPropertyValue(container, "consumers", Map.class)
.keySet().iterator().next();
Log qLogger = spy(TestUtils.getPropertyValue(consumer, "logger", Log.class));
new DirectFieldAccessor(consumer).setPropertyValue("logger", qLogger);
when(qLogger.isDebugEnabled()).thenReturn(true);
spiedQLogger.countDown();
assertTrue(errorHandled.await(10, TimeUnit.SECONDS));
container.stop();
verify(logger, never()).warn(contains("Consumer raised exception"), any(Throwable.class));