spring boot + rabbitmq 简单集成
依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
配置
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
定义队列
@Configuration
public class RabbitMqConfig {
// 普通字符串
@Bean
public Queue queueOne(){
return new Queue("one");
}
// 对象
@Bean
public Queue queueTwo(){
return new Queue("two");
}
}
发消息 - 生产
@Service
public class RabbitMqService {
@Autowired
UserService userService;
@Autowired
RabbitTemplate rabbitTemplate;
public void sendOne(String queueName, String message){
rabbitTemplate.convertAndSend(queueName, message);
}
public void sendTwo(String queueName){
rabbitTemplate.convertAndSend(queueName, userService.findById(34));
}
}
收消息 - 消费
@Component
public class RabbitMqComponent {
@RabbitListener(queues = "one")
public void listerOne(String obj){
System.out.print(obj);
}
@RabbitListener(queues = "two")
public void listerTwo(User user){
System.out.print(user);
}
}