RabbitMQConfig.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package es.uv.garcosda.config;
  2. import org.springframework.amqp.core.AmqpAdmin;
  3. import org.springframework.amqp.core.Binding;
  4. import org.springframework.amqp.core.BindingBuilder;
  5. import org.springframework.amqp.core.DirectExchange;
  6. import org.springframework.amqp.core.Queue;
  7. import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.beans.factory.annotation.Value;
  10. import org.springframework.context.annotation.Bean;
  11. import org.springframework.context.annotation.Configuration;
  12. @Configuration
  13. public class RabbitMQConfig {
  14. @Value("${rabbitmq.queue.name.user}")
  15. private String queueUser;
  16. @Value("${rabbitmq.queue.name.recover}")
  17. private String queueRecover;
  18. @Value("${rabbitmq.exchange.name}")
  19. private String exchange;
  20. @Value("${rabbitmq.routing.key.user}")
  21. private String routingKeyUser;
  22. @Value("${rabbitmq.routing.key.recover}")
  23. private String routingKeyRecover;
  24. @SuppressWarnings("unused")
  25. @Autowired
  26. private AmqpAdmin amqpAdmin;
  27. @Bean
  28. public void Configure() {
  29. Queue q = new Queue(this.queueUser, true, false, false);
  30. Queue q2 = new Queue(this.queueRecover, true, false, false);
  31. amqpAdmin.declareQueue(q);
  32. amqpAdmin.declareQueue(q2);
  33. DirectExchange e = new DirectExchange(this.exchange);
  34. amqpAdmin.declareExchange(e);
  35. amqpAdmin.declareBinding(BindingBuilder
  36. .bind(q)
  37. .to(e)
  38. .with(routingKeyUser));
  39. amqpAdmin.declareBinding(BindingBuilder
  40. .bind(q2)
  41. .to(e)
  42. .with(routingKeyRecover));
  43. }
  44. @Bean
  45. public Jackson2JsonMessageConverter converter() {
  46. return new Jackson2JsonMessageConverter();
  47. }
  48. }