当前位置: 首页 > news >正文

微信网站开发合同塘厦三局医院

微信网站开发合同,塘厦三局医院,重庆网络学院登录入口,深圳建设项目环保网站办事指南提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 发布订阅模式 (fanout)---案例前言RabbitListener和RabbitHandler的使用 1.通过Spring官网快速创建一个RabbitMQ的生产者项目2.导入项目后在application.yml文件中配… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 发布订阅模式 (fanout)---案例前言RabbitListener和RabbitHandler的使用 1.通过Spring官网快速创建一个RabbitMQ的生产者项目2.导入项目后在application.yml文件中配置3.创建一个RabbitMqConfig配置类4. 生产者5.测试生产者创建mq是否成功访问网址 http://localhost:15672/#/queues 6.再创建一个消费者项目7. 创建消费者8.测试消费者接收信息 发布订阅模式 (fanout)—案例 前言 RabbitListener和RabbitHandler的使用 1.通过Spring官网快速创建一个RabbitMQ的生产者项目 2.导入项目后在application.yml文件中配置 # 服务端口 server:port: 8081#配置rabbitmq服务 测试不用写默认本机 spring:rabbitmq:username: guest #默认账号password: guest #默认密码virtual-host: /host: localhostport: 5672#消息确认配置项#确认消息已发送到交换机 Exchangepublisher-confirm-type: correlated#确认消息已发送到队列: Queuepublisher-returns: true 3.创建一个RabbitMqConfig配置类 package com.exam.RebbitMQ.config;import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.springframework.amqp.core.FanoutExchange; import org.springframework.amqp.core.Queue; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class RabbitMqConfig {//1:声明注册fanout模式的交换机,参数1对应的service的fanoutName参数2持久化(true,false),参数3自动删除false/trueBeanpublic FanoutExchange fanoutExchange(){return new FanoutExchange(fanout_order_exchang, true, false);}//2:声明队列 sms.fanout.queue,email.fanout.queue,duanxin.fanout.queue//参数1:名字,参数2:持久化队列true//短信队列Beanpublic Queue smsQueue() {System.err.println(执行了sms);return new Queue(sms.fanout.queue,true);}Beanpublic Queue duanxinQueue() {System.err.println(执行了duanxin);return new Queue(duanxin.fanout.queue,true);}//邮箱队列Beanpublic Queue emailQueue() {System.err.println(执行了email);return new Queue(email.fanout.queue,true);}//3:完成绑定关系(队列和交换机完成绑定关系)Beanpublic Binding smsBinding() {//把smsQueue放到fanoutExchange交换机上面return BindingBuilder.bind(smsQueue()).to(fanoutExchange());}Beanpublic Binding duanxinBinding() {//把duanxinQueue放到fanoutExchange交换机上面return BindingBuilder.bind(duanxinQueue()).to(fanoutExchange());}Beanpublic Binding emailBinding() {//把emailQueue放到fanoutExchange交换机上面return BindingBuilder.bind(emailQueue()).to(fanoutExchange());}} 4. 生产者 OrderService package com.exam.RebbitMQ.service;public interface OrderService {void makeOrder(String userid,String productid,int num); } OrderServiceImpl package com.exam.RebbitMQ.service.Impl;import java.util.UUID;import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service;import com.exam.RebbitMQ.service.OrderService;Service public class OrderServiceImpl implements OrderService{Autowiredprivate RabbitTemplate rabbitTemplate;/*** 模拟用户下单 **/public void makeOrder(String userid,String productid,int num) {//1.根据商品ID查询商品是否充足//2.保存订单String orderId UUID.randomUUID().toString();System.err.println(订单生成成功orderId);//3.通过MQ来完成消息的分发//参数1:交换机 参数二:路由key/queue队列名称 参数三:消息内容String exchangName fanout_order_exchang;String routingKey ;rabbitTemplate.convertAndSend(exchangName, routingKey, orderId);}} 5.测试生产者创建mq是否成功 在项目的test中发送请求 package com.huyi.rabbitmq;import com.huyi.rabbitmq.service.OrderService; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest class RabbitMqApplicationTests {Autowiredprivate OrderService orderService;Testvoid contextLoads() {orderService.makeOrder(1,1, 18);}} 访问网址 http://localhost:15672/#/queues 6.再创建一个消费者项目 yml配置 # 服务端口 server:port: 8082#配置rabbitmq服务 测试不用写默认本机 spring:rabbitmq:username: guest #默认账号password: guest #默认密码virtual-host: /host: localhostport: 5672#消息确认配置项#确认消息已发送到交换机 Exchangepublisher-confirm-type: correlated#确认消息已发送到队列: Queuepublisher-returns: true 7. 创建消费者 SmsConsumerService、SmsConsumerServiceImpl package com.huyi.rabbitmq_consumber.service;public interface SmsConsumerService {void reviceMessage(String message); }package com.huyi.rabbitmq_consumber.service.Impl;import com.huyi.rabbitmq_consumber.service.SmsConsumerService; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service;Component public class SmsConsumerServiceImpl implements SmsConsumerService {//注意这里要和生产者RabbitMqConfig文件中的名字对应起来RabbitListener(queues {sms.fanout.queue})public void reviceMessage(String message) {System.err.println(sms_fanout--接收到了订单信息);} } EmailConsumerService、EmailConsumerServiceImpl package com.huyi.rabbitmq_consumber.service;public interface EmailConsumerService {void reviceMessage(String message); } package com.huyi.rabbitmq_consumber.service.Impl;import com.huyi.rabbitmq_consumber.service.EmailConsumerService; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service;Component RabbitListener(queues {email.fanout.queue}) public class EmailConsumerServiceImpl implements EmailConsumerService {RabbitHandlerpublic void reviceMessage(String message) {System.err.println(Email_fanout--接收到了订单信息message);} } DuanxinConsumerService、DuanxinConsumerServiceImpl package com.huyi.rabbitmq_consumber.service;public interface DuanxinConsumerService {void reviceMessage(String message); } package com.huyi.rabbitmq_consumber.service.Impl;import com.huyi.rabbitmq_consumber.service.DuanxinConsumerService; import org.springframework.amqp.rabbit.annotation.RabbitHandler; import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.stereotype.Component; import org.springframework.stereotype.Service;Component RabbitListener(queues {duanxin.fanout.queue}) public class DuanxinConsumerServiceImpl implements DuanxinConsumerService {RabbitHandlerpublic void reviceMessage(String message) {System.err.println(Duanxin_fanout--接收到了订单信息message);}} 8.测试消费者接收信息 启动消费者项目 启动生产者项目 查看消费者项目是否监听到了生产者的信息
http://www.dnsts.com.cn/news/149147.html

相关文章:

  • 长春建设厅网站学校建设门户网站的好处
  • 河南高端建设网站设计师接单渠道
  • 做海报网站网站怎么做才能让更多平台展现
  • 快速提高网站权重家庭农场网站建设
  • 做网站除了域名还需要什么网站关键词排名突然没了
  • 茂名建设局网站wordpress不锈钢企业
  • 小红书关键词检测榆林市网站seo
  • 怎么才能创建个人网站华为企业解决方案
  • 郑州模板网站建设广州展厅设计公司排名
  • 深圳做网站优化工资多少做网站做系统一样么
  • 网站克隆下来了然后再怎么做做网站没流量
  • 常德网站建设多少钱企业邮箱是qq邮箱吗
  • 深圳营销网站建设公司国际公司和全球公司
  • 遵义网站建设哪家好?如果做网站需要多少钱
  • 0经验自己做网站专业网站建设 公司
  • 无锡网站建设多少钱做网站怎么那么难
  • 免费的logo设计网站网上免费推广
  • wordpress建站vip全站教程公司网站建设企业
  • 免费企业网站开源系统青岛的网站建设公司哪家好
  • 沈阳网站制作wordpress主题 书
  • 网站初期推广点金推广优化公司
  • 保险资料网站有哪些深圳做网站哪个好
  • 富平网站建设一学一做看视频网站
  • 网页设计网站官网怎么进去wordpress的仪表盘
  • 制作网站需要的软件建网站都要什么费用
  • 低价网站建设资讯汕头企业网站建设流程
  • wordpress 头像 国内seo论坛
  • 网站备案号怎么申请安卓编程软件
  • 做网站的IT行业厦门建设局网站首页
  • 图书馆网站建设策划配件查询网站制作