public void testWithExecutor() throws Exception {
CachingConnectionFactory connectionFactory = beanFactory.getBean("withExecutor", CachingConnectionFactory.class);
assertNotNull(connectionFactory);
Object executor = new DirectFieldAccessor(connectionFactory).getPropertyValue("executorService");
assertNotNull(executor);
ThreadPoolTaskExecutor exec = beanFactory.getBean("exec", ThreadPoolTaskExecutor.class);
assertSame(exec.getThreadPoolExecutor(), executor);
DirectFieldAccessor dfa = new DirectFieldAccessor(connectionFactory);
assertEquals(Boolean.FALSE, dfa.getPropertyValue("publisherConfirms"));
assertEquals(Boolean.FALSE, dfa.getPropertyValue("publisherReturns"));
assertEquals(CachingConnectionFactory.CacheMode.CONNECTION, connectionFactory.getCacheMode());
assertEquals(0, TestUtils.getPropertyValue(connectionFactory, "rabbitConnectionFactory.connectionTimeout"));