旅行社网站方案,成都微网站设计,网上推广怎么拉客户,摄影网站在线建设再SpringBoot中使用MQ
1.创建SpringBoot项目
除了我们平常使用的一些工具依赖#xff0c;还需要选择这个Spring for RabbitMQ依赖 2.需要在application.yml文件中进行配置
server:port :9090
spring:application:name:producerrabbitmq:host: 你的主机名port: 5672virtual-…再SpringBoot中使用MQ
1.创建SpringBoot项目
除了我们平常使用的一些工具依赖还需要选择这个Spring for RabbitMQ依赖 2.需要在application.yml文件中进行配置
server:port :9090
spring:application:name:producerrabbitmq:host: 你的主机名port: 5672virtual-host: 虚拟主机名称username: adminpassword: admin1233.测试使用
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;RestController
public class TestController {Resourceprivate TestService testService;RequestMapping(test)public String test(String msg){testService.sendMsg(msg);return success;}
}
Service
public class TestService {Resourceprivate AmqpTemplate amqpTemplate; // 注入RabbitMQ的模板对象用于发送消息Overridepublic void sendMsg(String msg) {// 发送消息到队列amqpTemplate.convertAndSend(queue1, msg);// 发送消息到交换机订阅交换机第二个参数为空amqpTemplate.convertAndSend(wx1, , msg);// 发送消息到交换机路由交换机第二个参数为路由keyamqpTemplate.convertAndSend(wx2, a, msg);}
}
完善一下测试使用类
import javax.annotation.Resource;Service
public class TestService {Resourceprivate AmqpTemplate amqpTemplate;public void sendMsg(String msg) {if (msg.startsWith(q_)) {// 发送消息到队列amqpTemplate.convertAndSend(queue1, msg);} else if (msg.startsWith(f_)) {// 发送消息到交换机(订阅交换机)amqpTemplate.convertAndSend(ex1, , msg);} else if (msg.startsWith(r_)) {// 发送消息到交换机(路由交换机)if (msg.startsWith(r_a)) {amqpTemplate.convertAndSend(ex2, a, msg);} else if (msg.startsWith(r_b)) {amqpTemplate.convertAndSend(ex2, b, msg);}}}
}
此时从浏览器发送请求localhost:9090/test?msg....就可以发送消息到队列中
4.然后创建消费者项目
前期步骤一致只是配置文件的端口号进行变更
package com.qfedu.consumer.service;import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;Service
//RabbitListener(queues {queue1,queue2})
// 首先通过RabbitListener注解监听队列
RabbitListener(queues queue1)
public class ReceiveMsgService {// 然后通过RabbitHandler注解将队列中的数据作为入参使用RabbitHandlerpublic void receiveMsg(String msg) {System.out.println(接收Msg msg);}// 另一个可能的消息接收方法处理字节数组类型的数据//RabbitHandler//public void receiveMsg(byte[] bs) {// // 处理字节数组的逻辑//}
}
此时就在SpringBoot中实现了生产者发送消息然后消费者消费消息