public void testWithReplyQ() throws Exception {
RabbitTemplate template = beanFactory.getBean("withReplyQ", RabbitTemplate.class);
assertNotNull(template);
DirectFieldAccessor dfa = new DirectFieldAccessor(template);
assertNull(dfa.getPropertyValue("correlationKey"));
Queue queue = (Queue) dfa.getPropertyValue("replyQueue");
assertNotNull(queue);
Queue queueBean = beanFactory.getBean("reply.queue", Queue.class);
assertSame(queueBean, queue);
SimpleMessageListenerContainer container =
beanFactory.getBean("withReplyQ.replyListener", SimpleMessageListenerContainer.class);
assertNotNull(container);
dfa = new DirectFieldAccessor(container);
assertSame(template, dfa.getPropertyValue("messageListener"));
SimpleMessageListenerContainer messageListenerContainer =
beanFactory.getBean(SimpleMessageListenerContainer.class);
dfa = new DirectFieldAccessor(messageListenerContainer);
Collection<?> queueNames = (Collection<?>) dfa.getPropertyValue("queueNames");
assertEquals(1, queueNames.size());
assertEquals(queueBean.getName(), queueNames.iterator().next());
}