12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package org.jeecg.config;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.amqp.core.Queue;
- import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
- import org.springframework.amqp.rabbit.connection.ConnectionFactory;
- import org.springframework.amqp.rabbit.core.RabbitTemplate;
- import org.springframework.beans.factory.annotation.Value;
- import org.springframework.beans.factory.config.ConfigurableBeanFactory;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.Scope;
- @Configuration
- @Slf4j
- public class RabbitConfig {
- @Value("${spring.rabbitmq.host}")
- private String host;
- @Value("${spring.rabbitmq.port}")
- private int port;
- @Value("${spring.rabbitmq.username}")
- private String username;
- @Value("${spring.rabbitmq.password}")
- private String password;
- public static final String EXCHANGE_A = "my-mq-exchange_A";
- public static final String EXCHANGE_B = "my-mq-exchange_B";
- public static final String EXCHANGE_C = "my-mq-exchange_C";
- public static final String QUEUE_A = "QUEUE_A";
- public static final String QUEUE_B = "QUEUE_B";
- public static final String QUEUE_C = "QUEUE_C";
- public static final String ROUTINGKEY_A = "spring-boot-routingKey_A";
- public static final String ROUTINGKEY_B = "spring-boot-routingKey_B";
- public static final String ROUTINGKEY_C = "spring-boot-routingKey_C";
- @Bean
- public ConnectionFactory connectionFactory() {
- CachingConnectionFactory connectionFactory = new CachingConnectionFactory(host, port);
- connectionFactory.setUsername(username);
- connectionFactory.setPassword(password);
- connectionFactory.setVirtualHost("/");
- connectionFactory.setPublisherConfirms(true);
- return connectionFactory;
- }
- /**
- * 必须是prototype类型
- */
- @Bean
- @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
- public RabbitTemplate rabbitTemplate() {
- RabbitTemplate template = new RabbitTemplate(connectionFactory());
- return template;
- }
- @Bean
- public Queue helloQueue() {
- return new Queue("hello");
- }
- }
|