TopicRabbitMQConfig.java 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package com.huimv.center.config;
  2. import com.huimv.center.utils.Const;
  3. import org.springframework.amqp.core.*;
  4. import org.springframework.context.annotation.Bean;
  5. import org.springframework.context.annotation.Configuration;
  6. /**
  7. * @Project : huimv.shiwan
  8. * @Package : com.huimv.biosafety.uface.controller
  9. * @Description : TODO
  10. * @Version : 1.0
  11. * @Author : ZhuoNing
  12. * @Create : 2020-12-25
  13. **/
  14. @Configuration
  15. public class TopicRabbitMQConfig {
  16. // 已注册队列
  17. @Bean
  18. public Queue deviceRegisteredQueue() {
  19. return new Queue(Const.QUEUE_DEVICE_REGISTERED);
  20. }
  21. // 已注册交换机
  22. @Bean
  23. TopicExchange deviceRegisteredExchange() {
  24. return new TopicExchange(Const.EXCHANGE_DEVICE_REGISTERED);
  25. }
  26. // 已注册绑定关系
  27. @Bean
  28. Binding bindingRegisteredExchangeMessage() {
  29. return BindingBuilder.bind(deviceRegisteredQueue()).to(deviceRegisteredExchange()).with(Const.ROUTING_KEY_DEVICE_REGISTERED);
  30. }
  31. // 未注册队列
  32. @Bean
  33. public Queue deviceUnregisteredQueue() {
  34. return new Queue(Const.QUEUE_DEVICE_UNREGISTERED);
  35. }
  36. // 未注册交换机
  37. @Bean
  38. TopicExchange deviceUnregisteredExchange() {
  39. return new TopicExchange(Const.EXCHANGE_DEVICE_UNREGISTERED);
  40. }
  41. // 未注册绑定关系
  42. @Bean
  43. Binding bindingUnregisteredExchangeMessage() {
  44. return BindingBuilder.bind(deviceUnregisteredQueue()).to(deviceUnregisteredExchange()).with(Const.ROUTING_KEY_DEVICE_UNREGISTERED);
  45. }
  46. // 应答队列
  47. @Bean
  48. public Queue deviceAnswerQueue() {
  49. return new Queue(Const.QUEUE_DEVICE_ANSWER);
  50. }
  51. // 应答交换机
  52. @Bean
  53. TopicExchange deviceAnswerExchange() {
  54. return new TopicExchange(Const.EXCHANGE_DEVICE_ANSWER);
  55. }
  56. // 应答绑定关系
  57. @Bean
  58. Binding bindingAnswerExchangeMessage() {
  59. return BindingBuilder.bind(deviceAnswerQueue()).to(deviceAnswerExchange()).with(Const.ROUTING_KEY_DEVICE_ANSWER);
  60. }
  61. // 同步注册设备信息队列
  62. @Bean
  63. public Queue syncDeviceQueue() {
  64. return new Queue(Const.QUEUE_SYNC_DEVICE);
  65. }
  66. // 同步注册设备信息交换机
  67. @Bean
  68. TopicExchange syncDeviceExchange() {
  69. return new TopicExchange(Const.EXCHANGE_SYNC_DEVICE);
  70. }
  71. // 同步注册设备信息绑定关系
  72. @Bean
  73. Binding bindingSyncDeviceExchangeMessage() {
  74. return BindingBuilder.bind(syncDeviceQueue()).to(syncDeviceExchange()).with(Const.ROUTING_KEY_SYNC_DEVICE);
  75. }
  76. // 原始数据队列
  77. @Bean
  78. public Queue askCmdQueue() {
  79. return new Queue(Const.QUEUE_ASK_CMD);
  80. }
  81. // 原始数据交换机
  82. @Bean
  83. TopicExchange askCmdExchange() {
  84. return new TopicExchange(Const.EXCHANGE_ASK_CMD);
  85. }
  86. // 原始数据绑定关系
  87. @Bean
  88. Binding bindingAskCmdExchangeMessage() {
  89. return BindingBuilder.bind(askCmdQueue()).to(askCmdExchange()).with(Const.ROUTING_KEY_ASK_CMD);
  90. }
  91. /**
  92. * 广播同步注册设备信息队列
  93. */
  94. @Bean
  95. public Queue fanoutSyncDeviceQueue() {
  96. return new Queue(Const.QUEUE_SYNC_DEVICE_FANOUT);
  97. }
  98. /**
  99. * 广播同步注册设备信息交换机
  100. */
  101. @Bean
  102. FanoutExchange fanoutSyncDeviceExchange() {
  103. return new FanoutExchange(Const.EXCHANGE_SYNC_DEVICE_FANOUT);
  104. }
  105. @Bean
  106. Binding fanoutBindingSyncDeviceExchangeMessage(){
  107. return BindingBuilder.bind(fanoutSyncDeviceQueue()).to(fanoutSyncDeviceExchange());
  108. }
  109. }