1.引入依赖
<!-- 引入RabbitMQ的相关依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2.application.yml
spring:
rabbitmq:
host: 127.0.0.1
port: 5672
username: ems
password: ems
virtual-host: /ems
3.五种模型的整合
真正队列和交换机的创建取决于消费者!!!
3.1hello world
3.1.1生产者
@Autowired
private RabbitTemplate rabbitTemplate;
public boolean createVerify(String username) {
if(FrontUserDao.findUser(username) == 1){
return false; //发送失败
}else{
try {
//封装邮件信息的
SimpleMailMessage message = new SimpleMailMessage();
rabbitTemplate.convertAndSend("hello",message);
}catch (Exception e){
return false;
}
}
return true;
}
3.1.2消费者
@Component
@RabbitListener(queuesToDeclare = @Queue(value = "hello",durable = "true",autoDelete = "false"))
public class ConsumerMessage {
@Autowired
JavaMailSender javaMailSender;
@RabbitHandler
public void receiveMsg(SimpleMailMessage message){
try {
Thread.sleep(5000);
javaMailSender.send(message);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
3.2work queue
3.2.1生产者
3.2.2消费者
说明:默认在Spring AMQP实现中Work这种方式就是公平调度,如果需要实现能者多劳需要额外配置。