ComfyuiQueueConfig.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package com.backendsys.modules.sdk.comfyui.rabbitmq;
  2. import com.backendsys.modules.common.config.rabbitmq.queue.DemoDlxQueueConfig;
  3. import org.springframework.amqp.core.*;
  4. import org.springframework.beans.factory.annotation.Autowired;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.context.annotation.Lazy;
  8. /**
  9. * 非懒加载,在项目启动时创建 RabbitMQ 队列、交换机、绑定关系
  10. */
  11. @Configuration
  12. @Lazy(false)
  13. public class ComfyuiQueueConfig {
  14. @Autowired
  15. private ComfyuiQueueDlxConfig config;
  16. public static final String EXCHANGE = "comfyui.exchange";
  17. public static final String QUEUE = "comfyui.queue";
  18. public static final String ROUTING_KEY = "comfyui.create";
  19. // 交换机
  20. @Bean
  21. public DirectExchange comfyuiExchange() {
  22. return ExchangeBuilder.directExchange(EXCHANGE).durable(true).build();
  23. }
  24. // 队列
  25. @Bean
  26. public Queue comfyuiQueue() {
  27. return QueueBuilder.durable(QUEUE)
  28. .deadLetterExchange(config.EXCHANGE)
  29. .deadLetterRoutingKey(config.ROUTING_KEY)
  30. .build();
  31. }
  32. // 队列绑定交换机
  33. @Bean
  34. public Binding comfyuiBinding() {
  35. return BindingBuilder.bind(comfyuiQueue()).to(comfyuiExchange()).with(ROUTING_KEY);
  36. }
  37. }