GenericApplicationContext context = new GenericApplicationContext(); Queue queue = new Queue("foo"); queue.setShouldDeclare(false); context.getBeanFactory().registerSingleton("foo", queue); DirectExchange exchange = new DirectExchange("bar");
private String declareQueue(org.springframework.amqp.rabbit.annotation.Queue bindingQueue) { String queueName = (String) resolveExpression(bindingQueue.value()); boolean isAnonymous = false; if (!StringUtils.hasText(queueName)) { queueName = Base64UrlNamingStrategy.DEFAULT.generateName(); // default exclusive/autodelete and non-durable when anonymous isAnonymous = true; } Queue queue = new Queue(queueName, resolveExpressionAsBoolean(bindingQueue.durable(), !isAnonymous), resolveExpressionAsBoolean(bindingQueue.exclusive(), isAnonymous), resolveExpressionAsBoolean(bindingQueue.autoDelete(), isAnonymous), resolveArguments(bindingQueue.arguments())); queue.setIgnoreDeclarationExceptions(resolveExpressionAsBoolean(bindingQueue.ignoreDeclarationExceptions())); ((ConfigurableBeanFactory) this.beanFactory).registerSingleton(queueName + ++this.increment, queue); if (bindingQueue.admins().length > 0) { queue.setAdminsThatShouldDeclare((Object[]) bindingQueue.admins()); } queue.setShouldDeclare(resolveExpressionAsBoolean(bindingQueue.declare())); return queueName; }
private String declareQueue(org.springframework.amqp.rabbit.annotation.Queue bindingQueue) { String queueName = (String) resolveExpression(bindingQueue.value()); boolean isAnonymous = false; if (!StringUtils.hasText(queueName)) { queueName = Base64UrlNamingStrategy.DEFAULT.generateName(); // default exclusive/autodelete and non-durable when anonymous isAnonymous = true; } Queue queue = new Queue(queueName, resolveExpressionAsBoolean(bindingQueue.durable(), !isAnonymous), resolveExpressionAsBoolean(bindingQueue.exclusive(), isAnonymous), resolveExpressionAsBoolean(bindingQueue.autoDelete(), isAnonymous), resolveArguments(bindingQueue.arguments())); queue.setIgnoreDeclarationExceptions(resolveExpressionAsBoolean(bindingQueue.ignoreDeclarationExceptions())); ((ConfigurableBeanFactory) this.beanFactory).registerSingleton(queueName + ++this.increment, queue); if (bindingQueue.admins().length > 0) { queue.setAdminsThatShouldDeclare((Object[]) bindingQueue.admins()); } queue.setShouldDeclare(resolveExpressionAsBoolean(bindingQueue.declare())); return queueName; }