List of usage examples for org.springframework.amqp.core Queue Queue
public Queue(String name, boolean durable, boolean exclusive, boolean autoDelete)
From source file:org.resthub.rpc.AMQPHessianProxyFactory.java
/** * Create a queue for response/*from www .ja v a 2 s. co m*/ * * @param connectionFactory * @param queueName the name of the queue */ private Queue createReplyQueue(AmqpAdmin admin, String queueName) { Queue replyQueue = new Queue(queueName, false, true, false); admin.declareQueue(replyQueue); return replyQueue; }
From source file:com.jbrisbin.groovy.mqdsl.RabbitMQBuilder.java
@Override protected Object createNode(Object o, final Map params) { if (log.isDebugEnabled()) { log.debug(String.format("createNode(Object o, Map params): %s, %s", o, params)); }/* w w w .ja v a2s . com*/ String node = o.toString(); if (ON.equals(node)) { // Event handlers for (Map.Entry<String, Closure> entry : ((Map<String, Closure>) params).entrySet()) { String eventName = entry.getKey(); List<Closure> handlers; if (eventHandlers.containsKey(eventName)) { handlers = eventHandlers.get(eventName); } else { handlers = new ArrayList<Closure>(); eventHandlers.put(eventName, handlers); } if (entry.getValue() instanceof List) { for (Closure cl : (List<Closure>) entry.getValue()) { handlers.add(cl); } } else if (entry.getValue() instanceof Closure) { Closure cl = entry.getValue(); cl.setProperty(NAME, eventName); handlers.add(cl); } } return null; } else if (EXCHANGE.equals(node)) { boolean durable = params.containsKey(DURABLE) ? (Boolean) params.get(DURABLE) : false; boolean autoDelete = params.containsKey(AUTO_DELETE) ? (Boolean) params.get(AUTO_DELETE) : false; Map arguments = params.containsKey(ARGUMENTS) ? (Map) params.get(ARGUMENTS) : null; currentRoutingKey = null; Exchange exchange = null; String name = null; if (params.containsKey(NAME)) { name = params.get(NAME).toString(); } if (params.containsKey(TYPE)) { String type = params.containsKey(TYPE) ? params.get(TYPE).toString() : DIRECT; if (DIRECT.equals(type)) { exchange = new DirectExchange(name, durable, autoDelete, arguments); } else if (TOPIC.equals(type)) { exchange = new TopicExchange(name, durable, autoDelete, arguments); } else if (FANOUT.equals(type)) { exchange = new FanoutExchange(name, durable, autoDelete, arguments); } else if (HEADERS.equals(type)) { exchange = new HeadersExchange(name, durable, autoDelete, arguments); } else { exchange = new CustomExchange(name, type, durable, autoDelete, arguments); } currentExchange = exchange; } else { currentExchange = new DirectExchange(name); } try { rabbitAdmin.declareExchange(currentExchange); } catch (Exception e) { log.error(e.getMessage(), e); dispatchError(e); } return exchange; } else if (QUEUE.equals(node)) { boolean durable = params.containsKey(DURABLE) ? (Boolean) params.get(DURABLE) : false; boolean autoDelete = params.containsKey(AUTO_DELETE) ? (Boolean) params.get(AUTO_DELETE) : true; String routingKey = params.containsKey(ROUTING_KEY) ? params.get(ROUTING_KEY).toString() : null; if (null != routingKey) { currentRoutingKey = routingKey; } boolean exclusive = params.containsKey(EXCLUSIVE) ? (Boolean) params.get(EXCLUSIVE) : false; Map arguments = params.containsKey(ARGUMENTS) ? (Map) params.get(ARGUMENTS) : null; Queue q = null; String name; if (params.containsKey(NAME)) { try { if (null == params.get(NAME)) { name = null; } else { name = params.get(NAME).toString(); } if (name == null) { q = rabbitAdmin.declareQueue(); } else { q = new Queue(name, durable, exclusive, autoDelete); rabbitAdmin.declareQueue(q); } currentQueue = q; if (null != currentExchange) { Binding binding = null; if (currentExchange instanceof FanoutExchange) { binding = BindingBuilder.bind(q).to((FanoutExchange) currentExchange); } else if (currentExchange instanceof DirectExchange) { binding = BindingBuilder.bind(q).to((DirectExchange) currentExchange).with(routingKey); } else if (currentExchange instanceof HeadersExchange) { binding = BindingBuilder.bind(q).to((HeadersExchange) currentExchange) .whereAll(arguments).match(); } else if (currentExchange instanceof TopicExchange) { binding = BindingBuilder.bind(q).to((TopicExchange) currentExchange).with(routingKey); } else if (currentExchange instanceof CustomExchange) { binding = BindingBuilder.bind(q).to(currentExchange).with(routingKey).noargs(); } if (null != binding) { rabbitAdmin.declareBinding(binding); } } } catch (Exception e) { log.error(e.getMessage(), e); dispatchError(e); } } return q; } return null; }
From source file:org.openbaton.nse.api.EventReceiver.java
@Bean public Queue getCreationQueue() { logger.debug("Created Queue for NSR Create event"); return new Queue(queueName_eventInstantiateFinish, false, false, true); }
From source file:org.openbaton.nse.api.EventReceiver.java
@Bean public Queue getErrorQueue() { logger.debug("Created Queue for NSR error event"); return new Queue(queueName_eventError, false, false, true); }
From source file:org.openbaton.nse.api.EventReceiver.java
@Bean public Queue getScaleQueue() { logger.debug("Created Queue for NSR scale event"); return new Queue(queueName_eventScale, false, false, true); }
From source file:org.springframework.amqp.rabbit.core.RabbitAdmin.java
/** * Declares a server-named exclusive, autodelete, non-durable queue. *//* w w w . ja v a 2 s .c om*/ @ManagedOperation public Queue declareQueue() { DeclareOk declareOk = this.rabbitTemplate.execute(new ChannelCallback<DeclareOk>() { public DeclareOk doInRabbit(Channel channel) throws Exception { return channel.queueDeclare(); } }); Queue queue = new Queue(declareOk.getQueue(), false, true, true); return queue; }
From source file:org.springframework.amqp.rabbit.core.RabbitAdminTests.java
@Test public void testTemporaryLogs() throws Exception { SingleConnectionFactory connectionFactory = new SingleConnectionFactory(); connectionFactory.setHost("localhost"); RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); try {/*from w w w.j a va2s .com*/ ApplicationContext ctx = mock(ApplicationContext.class); Map<String, Queue> queues = new HashMap<String, Queue>(); queues.put("nonDurQ", new Queue("testq.nonDur", false, false, false)); queues.put("adQ", new Queue("testq.ad", true, false, true)); queues.put("exclQ", new Queue("testq.excl", true, true, false)); queues.put("allQ", new Queue("testq.all", false, true, true)); when(ctx.getBeansOfType(Queue.class)).thenReturn(queues); Map<String, Exchange> exchanges = new HashMap<String, Exchange>(); exchanges.put("nonDurEx", new DirectExchange("testex.nonDur", false, false)); exchanges.put("adEx", new DirectExchange("testex.ad", true, true)); exchanges.put("allEx", new DirectExchange("testex.all", false, true)); when(ctx.getBeansOfType(Exchange.class)).thenReturn(exchanges); rabbitAdmin.setApplicationContext(ctx); rabbitAdmin.afterPropertiesSet(); Log logger = spy(TestUtils.getPropertyValue(rabbitAdmin, "logger", Log.class)); doReturn(true).when(logger).isInfoEnabled(); doAnswer(new DoesNothing()).when(logger).info(anyString()); new DirectFieldAccessor(rabbitAdmin).setPropertyValue("logger", logger); connectionFactory.createConnection().close(); // force declarations ArgumentCaptor<String> log = ArgumentCaptor.forClass(String.class); verify(logger, times(7)).info(log.capture()); List<String> logs = log.getAllValues(); Collections.sort(logs); assertThat(logs.get(0), Matchers.containsString("(testex.ad) durable:true, auto-delete:true")); assertThat(logs.get(1), Matchers.containsString("(testex.all) durable:false, auto-delete:true")); assertThat(logs.get(2), Matchers.containsString("(testex.nonDur) durable:false, auto-delete:false")); assertThat(logs.get(3), Matchers.containsString("(testq.ad) durable:true, auto-delete:true, exclusive:false")); assertThat(logs.get(4), Matchers.containsString("(testq.all) durable:false, auto-delete:true, exclusive:true")); assertThat(logs.get(5), Matchers.containsString("(testq.excl) durable:true, auto-delete:false, exclusive:true")); assertThat(logs.get(6), Matchers.containsString("(testq.nonDur) durable:false, auto-delete:false, exclusive:false")); } finally { cleanQueuesAndExchanges(rabbitAdmin); connectionFactory.destroy(); } }
From source file:org.springframework.integration.x.rabbit.RabbitMessageBus.java
@Override public void bindRequestor(String name, MessageChannel requests, MessageChannel replies) { if (logger.isInfoEnabled()) { logger.info("binding requestor: " + name); }//w ww . j a va2 s . c o m Assert.isInstanceOf(SubscribableChannel.class, requests); String queueName = name + ".requests"; AmqpOutboundEndpoint queue = this.buildOutboundEndpoint(queueName); String replyQueueName = name + ".replies." + this.getIdGenerator().generateId(); this.doRegisterProducer(name, requests, queue, replyQueueName); Queue replyQueue = new Queue(replyQueueName, false, false, true); // auto-delete this.rabbitAdmin.declareQueue(replyQueue); // register with context so it will be redeclared after a connection failure this.autoDeclareContext.getBeanFactory().registerSingleton(replyQueueName, replyQueue); this.doRegisterConsumer(name, replies, replyQueue); }
From source file:org.springframework.xd.dirt.integration.rabbit.RabbitMessageBus.java
@Override public void bindPubSubConsumer(String name, MessageChannel moduleInputChannel, Properties properties) { if (logger.isInfoEnabled()) { logger.info("declaring pubsub for inbound: " + name); }// w w w. j ava2 s.c o m RabbitPropertiesAccessor accessor = new RabbitPropertiesAccessor(properties); validateConsumerProperties(name, properties, SUPPORTED_PUBSUB_CONSUMER_PROPERTIES); String prefix = accessor.getPrefix(this.defaultPrefix); FanoutExchange exchange = new FanoutExchange(prefix + "topic." + name); declareExchangeIfNotPresent(exchange); String uniqueName = name + "." + UUID.randomUUID().toString(); Queue queue = new Queue(prefix + uniqueName, false, true, true); declareQueueIfNotPresent(queue); org.springframework.amqp.core.Binding binding = BindingBuilder.bind(queue).to(exchange); this.rabbitAdmin.declareBinding(binding); // register with context so they will be redeclared after a connection failure this.autoDeclareContext.getBeanFactory().registerSingleton(queue.getName(), queue); String bindingBeanName = exchange.getName() + "." + queue.getName() + ".binding"; if (!autoDeclareContext.containsBean(bindingBeanName)) { this.autoDeclareContext.getBeanFactory().registerSingleton(bindingBeanName, binding); } doRegisterConsumer(name, moduleInputChannel, queue, accessor, true); autoBindDLQ(uniqueName, accessor); }
From source file:org.springframework.xd.dirt.integration.rabbit.RabbitMessageBus.java
@Override public void bindRequestor(String name, MessageChannel requests, MessageChannel replies, Properties properties) { if (logger.isInfoEnabled()) { logger.info("binding requestor: " + name); }/*from ww w . j a v a 2s . co m*/ validateProducerProperties(name, properties, SUPPORTED_REQUESTING_PRODUCER_PROPERTIES); Assert.isInstanceOf(SubscribableChannel.class, requests); RabbitPropertiesAccessor accessor = new RabbitPropertiesAccessor(properties); String queueName = name + ".requests"; AmqpOutboundEndpoint queue = this.buildOutboundEndpoint(queueName, accessor, this.rabbitTemplate); queue.setBeanFactory(this.getBeanFactory()); String replyQueueName = accessor.getPrefix(this.defaultPrefix) + name + ".replies." + this.getIdGenerator().generateId(); this.doRegisterProducer(name, requests, queue, replyQueueName, accessor); Queue replyQueue = new Queue(replyQueueName, false, false, true); // auto-delete declareQueueIfNotPresent(replyQueue); // register with context so it will be redeclared after a connection failure this.autoDeclareContext.getBeanFactory().registerSingleton(replyQueueName, replyQueue); this.doRegisterConsumer(name, replies, replyQueue, accessor, false); }