private String[] registerBeansForDeclaration(RabbitListener rabbitListener) { List<String> queues = new ArrayList<String>(); if (this.beanFactory instanceof ConfigurableBeanFactory) { for (QueueBinding binding : rabbitListener.bindings()) { String queueName = declareQueue(binding.value()); queues.add(queueName); declareExchangeAndBinding(binding, queueName); } } return queues.toArray(new String[queues.size()]); }
private String[] registerBeansForDeclaration(RabbitListener rabbitListener) { List<String> queues = new ArrayList<String>(); if (this.beanFactory instanceof ConfigurableBeanFactory) { for (QueueBinding binding : rabbitListener.bindings()) { String queueName = declareQueue(binding.value()); queues.add(queueName); declareExchangeAndBinding(binding, queueName); } } return queues.toArray(new String[queues.size()]); }
private String[] resolveQueues(RabbitListener rabbitListener) { String[] queues = rabbitListener.queues(); QueueBinding[] bindings = rabbitListener.bindings(); org.springframework.amqp.rabbit.annotation.Queue[] queuesToDeclare = rabbitListener.queuesToDeclare(); List<String> result = new ArrayList<String>(); if (queues.length > 0) { for (int i = 0; i < queues.length; i++) { resolveAsString(resolveExpression(queues[i]), result); } } if (queuesToDeclare.length > 0) { if (queues.length > 0) { throw new BeanInitializationException( "@RabbitListener can have only one of 'queues', 'queuesToDeclare', or 'bindings'"); } for (int i = 0; i < queuesToDeclare.length; i++) { result.add(declareQueue(queuesToDeclare[i])); } } if (bindings.length > 0) { if (queues.length > 0 || queuesToDeclare.length > 0) { throw new BeanInitializationException( "@RabbitListener can have only one of 'queues', 'queuesToDeclare', or 'bindings'"); } return registerBeansForDeclaration(rabbitListener); } return result.toArray(new String[result.size()]); }
private String[] resolveQueues(RabbitListener rabbitListener) { String[] queues = rabbitListener.queues(); QueueBinding[] bindings = rabbitListener.bindings(); org.springframework.amqp.rabbit.annotation.Queue[] queuesToDeclare = rabbitListener.queuesToDeclare(); List<String> result = new ArrayList<String>(); if (queues.length > 0) { for (int i = 0; i < queues.length; i++) { resolveAsString(resolveExpression(queues[i]), result); } } if (queuesToDeclare.length > 0) { if (queues.length > 0) { throw new BeanInitializationException( "@RabbitListener can have only one of 'queues', 'queuesToDeclare', or 'bindings'"); } for (int i = 0; i < queuesToDeclare.length; i++) { result.add(declareQueue(queuesToDeclare[i])); } } if (bindings.length > 0) { if (queues.length > 0 || queuesToDeclare.length > 0) { throw new BeanInitializationException( "@RabbitListener can have only one of 'queues', 'queuesToDeclare', or 'bindings'"); } return registerBeansForDeclaration(rabbitListener); } return result.toArray(new String[result.size()]); }