List of usage examples for org.springframework.amqp.rabbit.core RabbitTemplate RabbitTemplate
public RabbitTemplate(ConnectionFactory connectionFactory)
From source file:amqp.spring.camel.component.SpringAMQPProducerTest.java
@Override protected CamelContext createCamelContext() throws Exception { CachingConnectionFactory factory = new CachingConnectionFactory(); RabbitTemplate amqpTemplate = new RabbitTemplate(factory); SpringAMQPComponent amqpComponent = new SpringAMQPComponent(factory); amqpComponent.setAmqpTemplate(amqpTemplate); CamelContext camelContext = super.createCamelContext(); camelContext.addComponent("spring-amqp", amqpComponent); return camelContext; }
From source file:org.springframework.cloud.netflix.hystrix.amqp.HystrixStreamAutoConfiguration.java
public RabbitTemplate amqpTemplate() { if (this.amqpTemplate == null) { RabbitTemplate amqpTemplate = new RabbitTemplate(connectionFactory()); Jackson2JsonMessageConverter converter = messageConverter(); amqpTemplate.setMessageConverter(converter); this.amqpTemplate = amqpTemplate; }//from ww w. j a v a 2 s.co m return this.amqpTemplate; }
From source file:com.nkapps.billing.configs.RabbitMQConfig.java
@Bean public RabbitTemplate rabbitTemplate() { RabbitTemplate template = new RabbitTemplate(connectionFactory()); template.setExchange(BILLING_EXCHANGE); template.setMessageConverter(rabbitMessageConverter()); return template; }
From source file:amqp.spring.camel.component.SpringAMQPComponent.java
public AmqpTemplate getAmqpTemplate() { if (this.amqpTemplate == null && getCamelContext() != null && getCamelContext().getRegistry() != null) { //Attempt to load an AMQP template from the registry Map<String, AmqpTemplate> factories = getCamelContext().getRegistry() .findByTypeWithName(AmqpTemplate.class); if (factories != null && !factories.isEmpty()) { this.amqpTemplate = factories.values().iterator().next(); LOG.info("Found AMQP Template in registry"); }//ww w . j a v a 2 s . c o m } if (this.amqpTemplate == null) { //Attempt to construct an AMQP template this.amqpTemplate = new RabbitTemplate(this.connectionFactory); LOG.info("Created new AMQP Template"); } return this.amqpTemplate; }
From source file:com.jbrisbin.groovy.mqdsl.RabbitMQBuilder.java
public void setConnectionFactory(ConnectionFactory connectionFactory) { this.connectionFactory = connectionFactory; this.rabbitTemplate = new RabbitTemplate(connectionFactory); this.rabbitAdmin = new RabbitAdmin(connectionFactory); }
From source file:org.springframework.cloud.stream.binder.rabbit.RabbitBinderCleanerTests.java
@Test public void testCleanStream() { final RabbitBindingCleaner cleaner = new RabbitBindingCleaner(); final RestTemplate template = RabbitManagementUtils.buildRestTemplate("http://localhost:15672", "guest", "guest"); final String stream1 = UUID.randomUUID().toString(); String stream2 = stream1 + "-1"; String firstQueue = null;//w w w .j a v a2s .co m CachingConnectionFactory connectionFactory = rabbitWithMgmtEnabled.getResource(); RabbitAdmin rabbitAdmin = new RabbitAdmin(connectionFactory); for (int i = 0; i < 5; i++) { String queue1Name = AbstractBinder.applyPrefix(BINDER_PREFIX, stream1 + ".default." + i); String queue2Name = AbstractBinder.applyPrefix(BINDER_PREFIX, stream2 + ".default." + i); if (firstQueue == null) { firstQueue = queue1Name; } URI uri = UriComponentsBuilder.fromUriString("http://localhost:15672/api/queues") .pathSegment("{vhost}", "{queue}").buildAndExpand("/", queue1Name).encode().toUri(); template.put(uri, new AmqpQueue(false, true)); uri = UriComponentsBuilder.fromUriString("http://localhost:15672/api/queues") .pathSegment("{vhost}", "{queue}").buildAndExpand("/", queue2Name).encode().toUri(); template.put(uri, new AmqpQueue(false, true)); uri = UriComponentsBuilder.fromUriString("http://localhost:15672/api/queues") .pathSegment("{vhost}", "{queue}") .buildAndExpand("/", AbstractBinder.constructDLQName(queue1Name)).encode().toUri(); template.put(uri, new AmqpQueue(false, true)); TopicExchange exchange = new TopicExchange(queue1Name); rabbitAdmin.declareExchange(exchange); rabbitAdmin.declareBinding(BindingBuilder.bind(new Queue(queue1Name)).to(exchange).with(queue1Name)); exchange = new TopicExchange(queue2Name); rabbitAdmin.declareExchange(exchange); rabbitAdmin.declareBinding(BindingBuilder.bind(new Queue(queue2Name)).to(exchange).with(queue2Name)); } final TopicExchange topic1 = new TopicExchange( AbstractBinder.applyPrefix(BINDER_PREFIX, stream1 + ".foo.bar")); rabbitAdmin.declareExchange(topic1); rabbitAdmin.declareBinding(BindingBuilder.bind(new Queue(firstQueue)).to(topic1).with("#")); String foreignQueue = UUID.randomUUID().toString(); rabbitAdmin.declareQueue(new Queue(foreignQueue)); rabbitAdmin.declareBinding(BindingBuilder.bind(new Queue(foreignQueue)).to(topic1).with("#")); final TopicExchange topic2 = new TopicExchange( AbstractBinder.applyPrefix(BINDER_PREFIX, stream2 + ".foo.bar")); rabbitAdmin.declareExchange(topic2); rabbitAdmin.declareBinding(BindingBuilder.bind(new Queue(firstQueue)).to(topic2).with("#")); new RabbitTemplate(connectionFactory).execute(new ChannelCallback<Void>() { @Override public Void doInRabbit(Channel channel) throws Exception { String queueName = AbstractBinder.applyPrefix(BINDER_PREFIX, stream1 + ".default." + 4); String consumerTag = channel.basicConsume(queueName, new DefaultConsumer(channel)); try { waitForConsumerStateNot(queueName, 0); cleaner.clean(stream1, false); fail("Expected exception"); } catch (RabbitAdminException e) { assertThat(e).hasMessageContaining("Queue " + queueName + " is in use"); } channel.basicCancel(consumerTag); waitForConsumerStateNot(queueName, 1); try { cleaner.clean(stream1, false); fail("Expected exception"); } catch (RabbitAdminException e) { assertThat(e).hasMessageContaining("Cannot delete exchange "); assertThat(e).hasMessageContaining("; it has bindings:"); } return null; } private void waitForConsumerStateNot(String queueName, int state) throws InterruptedException { int n = 0; URI uri = UriComponentsBuilder.fromUriString("http://localhost:15672/api/queues") .pathSegment("{vhost}", "{queue}").buildAndExpand("/", queueName).encode().toUri(); while (n++ < 100) { @SuppressWarnings("unchecked") Map<String, Object> queueInfo = template.getForObject(uri, Map.class); if (!queueInfo.get("consumers").equals(Integer.valueOf(state))) { break; } Thread.sleep(100); } assertThat(n < 100).withFailMessage("Consumer state remained at " + state + " after 10 seconds"); } }); rabbitAdmin.deleteExchange(topic1.getName()); // easier than deleting the binding rabbitAdmin.declareExchange(topic1); rabbitAdmin.deleteQueue(foreignQueue); connectionFactory.destroy(); Map<String, List<String>> cleanedMap = cleaner.clean(stream1, false); assertThat(cleanedMap).hasSize(2); List<String> cleanedQueues = cleanedMap.get("queues"); // should *not* clean stream2 assertThat(cleanedQueues).hasSize(10); for (int i = 0; i < 5; i++) { assertThat(cleanedQueues.get(i * 2)).isEqualTo(BINDER_PREFIX + stream1 + ".default." + i); assertThat(cleanedQueues.get(i * 2 + 1)).isEqualTo(BINDER_PREFIX + stream1 + ".default." + i + ".dlq"); } List<String> cleanedExchanges = cleanedMap.get("exchanges"); assertThat(cleanedExchanges).hasSize(6); // wild card *should* clean stream2 cleanedMap = cleaner.clean(stream1 + "*", false); assertThat(cleanedMap).hasSize(2); cleanedQueues = cleanedMap.get("queues"); assertThat(cleanedQueues).hasSize(5); for (int i = 0; i < 5; i++) { assertThat(cleanedQueues.get(i)).isEqualTo(BINDER_PREFIX + stream2 + ".default." + i); } cleanedExchanges = cleanedMap.get("exchanges"); assertThat(cleanedExchanges).hasSize(6); }
From source file:com.nkapps.billing.configs.RabbitMQConfig.java
@Bean public RetryOperationsInterceptor retryInterceptor() { RepublishMessageRecoverer recoverer = new RepublishMessageRecoverer(new RabbitTemplate(connectionFactory()), pgErrorExchangeName());/*from w w w . j a va 2 s .c o m*/ return RetryInterceptorBuilder.stateless().maxAttempts(3).recoverer(recoverer).build(); }
From source file:io.acme.solution.query.conf.EventBusConfigurer.java
@Bean @Autowired/* w w w. j a va 2 s .com*/ public RabbitTemplate eventBusRabbitTemplate(final ConnectionFactory eventBusConnectionFactory, final MessageConverter eventBusMessageConverter) { log.info("Creating query event bus RabbitMQ template with a custom JSON converter"); final RabbitTemplate rabbitTemplate = new RabbitTemplate(eventBusConnectionFactory); rabbitTemplate.setMessageConverter(eventBusMessageConverter); return rabbitTemplate; }
From source file:io.acme.solution.application.conf.CommandBusConfigurer.java
@Bean @Autowired/*from w w w . j a va 2s .com*/ public RabbitTemplate commandBusRabbitTemplate(final ConnectionFactory commandBusConnectionFactory, final MessageConverter commandBusMessageConverter) { log.info("Creating command bus RabbitMQ template with a custom JSON converter"); final RabbitTemplate rabbitTemplate = new RabbitTemplate(commandBusConnectionFactory); rabbitTemplate.setMessageConverter(commandBusMessageConverter); return rabbitTemplate; }
From source file:com.jbrisbin.vpc.jobsched.QueueConfiguration.java
@Override public RabbitTemplate rabbitTemplate() { return new RabbitTemplate(connectionFactory()); }