springboot 集成rabbitmq 示例
时间: 2023-09-16 22:13:10 浏览: 75
好的,非常感谢您的提问!以下是 Spring Boot 集成 RabbitMQ 的示例:
1. 添加 Maven 依赖:
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
```
2. 编写 RabbitMQ 配置类:
```
@Configuration
public class RabbitMQConfig {
@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;
@Value("${spring.rabbitmq.virtual-host}")
private String virtualHost;
@Bean
public ConnectionFactory connectionFactory() {
CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
connectionFactory.setAddresses(host + ":" + port);
connectionFactory.setUsername(username);
connectionFactory.setPassword(password);
connectionFactory.setVirtualHost(virtualHost);
return connectionFactory;
}
@Bean
public RabbitTemplate rabbitTemplate() {
RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory());
rabbitTemplate.setMessageConverter(new Jackson2JsonMessageConverter());
return rabbitTemplate;
}
@Bean
public Queue queue() {
return new Queue("my-queue");
}
@Bean
public DirectExchange exchange() {
return new DirectExchange("my-exchange");
}
@Bean
public Binding binding() {
return BindingBuilder.bind(queue()).to(exchange()).with("my-routing-key");
}
}
```
3. 编写生产者:
```
@Service
public class RabbitMQProducer {
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage(String message) {
rabbitTemplate.convertAndSend("my-exchange", "my-routing-key", message);
}
}
```
4. 编写消费者:
```
@Service
public class RabbitMQConsumer {
@RabbitListener(queues = "my-queue")
public void handleMessage(String message) {
System.out.println("Received message: " + message);
}
}
```
以上就是 Spring Boot 集成 RabbitMQ 的示例,请根据实际需求进行修改。