private SimpleMessageListenerContainer createContainer() throws Exception {
   // if (!messageDriven) TODO: no container attributes would apply if not message-driven
   SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
   if (this.acknowledgeMode != null) {
     container.setAcknowledgeMode(this.acknowledgeMode);
   }
   if (!ObjectUtils.isEmpty(this.adviceChain)) {
     container.setAdviceChain(this.adviceChain);
   }
   container.setAutoStartup(this.autoStartup);
   container.setChannelTransacted(this.channelTransacted);
   if (this.concurrentConsumers != null) {
     container.setConcurrentConsumers(this.concurrentConsumers);
   }
   container.setConnectionFactory(this.connectionFactory);
   if (this.errorHandler != null) {
     container.setErrorHandler(this.errorHandler);
   }
   if (this.exposeListenerChannel != null) {
     container.setExposeListenerChannel(this.exposeListenerChannel);
   }
   if (this.messagePropertiesConverter != null) {
     container.setMessagePropertiesConverter(this.messagePropertiesConverter);
   }
   if (this.phase != null) {
     container.setPhase(this.phase);
   }
   if (this.prefetchCount != null) {
     container.setPrefetchCount(this.prefetchCount);
   }
   if (this.receiveTimeout != null) {
     container.setReceiveTimeout(this.receiveTimeout);
   }
   if (this.recoveryInterval != null) {
     container.setRecoveryInterval(this.recoveryInterval);
   }
   if (this.shutdownTimeout != null) {
     container.setShutdownTimeout(this.shutdownTimeout);
   }
   if (this.taskExecutor != null) {
     container.setTaskExecutor(this.taskExecutor);
   }
   if (this.transactionAttribute != null) {
     container.setTransactionAttribute(this.transactionAttribute);
   }
   if (this.transactionManager != null) {
     container.setTransactionManager(this.transactionManager);
   }
   if (this.txSize != null) {
     container.setTxSize(this.txSize);
   }
   if (this.missingQueuesFatal != null) {
     container.setMissingQueuesFatal(this.missingQueuesFatal);
   }
   return container;
 }
 private SimpleMessageListenerContainer createContainer(Object listener) {
   SimpleMessageListenerContainer container =
       new SimpleMessageListenerContainer(template.getConnectionFactory());
   container.setMessageListener(listener);
   container.setQueueNames(queue.getName());
   container.setTxSize(txSize);
   container.setPrefetchCount(txSize);
   container.setConcurrentConsumers(concurrentConsumers);
   container.setChannelTransacted(transactional);
   container.setAcknowledgeMode(acknowledgeMode);
   // requires RabbitMQ 3.2.x
   //		container.setConsumerArguments(Collections. <String, Object> singletonMap("x-priority",
   // Integer.valueOf(10)));
   if (externalTransaction) {
     container.setTransactionManager(new TestTransactionManager());
   }
   container.afterPropertiesSet();
   container.start();
   return container;
 }