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

不懂代码怎么做网站基于jsp的网站开发的文献

不懂代码怎么做网站,基于jsp的网站开发的文献,wordpress标签页面添加自定义字段,舟山市建设信息港网站打不开一. AMQP协议 什么是AMQP协议 AMQP(Advanced Message Queuing Protocol,高级消息队列协议):它是进程之间传递异步消息的网络协议 AMQP工作过程 发布者通过发布消息#xff0c;通过交换机#xff0c;交换机根据路由规则将收到的消息分发交换机绑定的下消息队列#xff0c;最…一. AMQP协议 什么是AMQP协议 AMQP(Advanced Message Queuing Protocol,高级消息队列协议):它是进程之间传递异步消息的网络协议 AMQP工作过程 发布者通过发布消息通过交换机交换机根据路由规则将收到的消息分发交换机绑定的下消息队列最后AMQP代理将消息推送给订阅了此队列的消费者 或消费者按照需求自行获取。 二. RabbitMQ简介 RabbitMQ是通过Erlang语言基于AMQP协议编写的消息中间件它在分布式系统中可以解应用耦合、流量削峰、异步消息等问题。它有两个特性 队列排队和异步 应用解耦多个个应用程序之间可通过RabbitMQ作为媒介两个应用不再粘连实现解耦异步消息多个应用可通过RabbitMQ进行消息传递流量削峰在高并发情况下可以通过RabbitMQ的队列特性实现流量削峰应用场景 应用到队列特性的应用场景 排序算法、秒杀活动。应用到异步特性的应用场景 消息分发、异步处理、数据同步、处理耗时任务。 三.springBoot整合RabbitMQ 生产者端发送消息 pom文件 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactIdversion2.6.3/version/dependencyyml文件 spring:application:name: producerrabbitmq:host: xxxusername: adminpassword: admin配置类,需要返回一个Queue,org.springframework.amqp.core.Queue下的Queue对象 Configuration public class RabbitMqConfig {Beanprotected Queue queue(){return new Queue(myQueue);} }使用RabbitMQ发送消息注入AmqpTemplate,调用convertAndSend()方法 class ProducerApplicationTests {Autowiredprivate AmqpTemplate amqpTemplate;Testvoid send() {for (int i 0; i 10; i) {amqpTemplate.convertAndSend(myQueue,这是发送的消息);System.out.println(发送成功);}}}消费端接收消息 配置同生产端不需要配置RabbitMqConfig接收消息时只需要使用注解RabbitMqConfigqueues属性绑定相应的队列即可。 Component public class ReceiveService {RabbitListener(queues myQueue)public void test01(String msg){System.out.println(接收到消息1 msg);}RabbitListener(queues myQueue)public void test02(String msg){System.out.println(接收到消息2 msg);}RabbitListener(queues myQueue)public void test03(String msg){System.out.println(接收到消息3 msg);} }四.交换器四种) Direct Exchange:直连交换器 它是RabbitMQ的默认交换器给指定队列发消息绑定该消息队列的消费者一次获取消息 实战 /** 生产者发送消息发送10个消息*/ SpringBootTest class ProducerApplicationTests {Autowiredprivate AmqpTemplate amqpTemplate;Testvoid send() {for (int i 0; i 10; i) {amqpTemplate.convertAndSend(myQueue,这是发送的消息);System.out.println(发送成功);}}}/** 接收消息*/ Component public class ReceiveService {RabbitListener(queues myQueue)public void test01(String msg){System.out.println(接收到消息1 msg);}RabbitListener(queues myQueue)public void test02(String msg){System.out.println(接收到消息2 msg);}RabbitListener(queues myQueue)public void test03(String msg){System.out.println(接收到消息3 msg);} }结果可以看到1、2、3依次接收消息 接收到消息1这是发送的消息 接收到消息2这是发送的消息 接收到消息3这是发送的消息 接收到消息2这是发送的消息 接收到消息3这是发送的消息 接收到消息1这是发送的消息 接收到消息3这是发送的消息 接收到消息1这是发送的消息 接收到消息2这是发送的消息 接收到消息1这是发送的消息Fanout Exchange:扇形交换器 绑定该交换器的所有队列都可以接收到消息扇形交换机将消息广播到所有与之绑定的队列。无论消息的路由键是什么扇形交换机都会将消息发送到所有绑定的队列中。这种类型的交换机常用于实现发布-订阅模式将消息广播给多个消费者。 实战 /** 绑定*/ /** Fanout Exchange*/ Bean public Queue FanoutExchangeQueue1(){return new Queue(fanoutExchangeQueue1);} Bean public Queue FanoutExchangeQueue2(){return new Queue(fanoutExchangeQueue2);} Bean public FanoutExchange fanoutExchange(){return new FanoutExchange(amq.fanout);} Bean public Binding FanoutExchangeBinding1(Queue FanoutExchangeQueue1,FanoutExchange fanoutExchange){return BindingBuilder.bind(FanoutExchangeQueue1).to(fanoutExchange);} Bean public Binding FanoutExchangeBinding2(Queue FanoutExchangeQueue2,FanoutExchange fanoutExchange){return BindingBuilder.bind(FanoutExchangeQueue2).to(fanoutExchange);}/** 生产者发送消息*/Testvoid sendByFanoutExchange() {amqpTemplate.convertAndSend(amq.fanout,key,这是发送到的消息);System.out.println(发送成功);}/** 消费者 Direct Exchange*/RabbitListener(queues fanoutExchangeQueue1)public void test04(String msg){System.out.println(接收到消息4 msg);}RabbitListener(queues fanoutExchangeQueue2)public void test05(String msg){System.out.println(接收到消息5 msg);}结果每一个绑定到Fanout Exchange上的队列都可以接收到消息 接收到消息4这是发送到的消息 接收到消息5这是发送到的消息Topic Exchange:主题交换器 允许在路由键中设置匹配规则*‘代表一个字母两个’.之间的内容‘#’代表0或多个字符 实战 /** 绑定*/Beanpublic Queue topicExchangeQueue1(){return new Queue(topicExchangeQueue1);}Beanpublic Queue topicExchangeQueue2(){return new Queue(topicExchangeQueue2);}Beanpublic TopicExchange topicExchange(){return new TopicExchange(amq.topic);}Beanpublic Binding TopicExchangeToQueue1(Queue topicExchangeQueue1,TopicExchange topicExchange){return BindingBuilder.bind(topicExchangeQueue1).to(topicExchange).with(com.shaoby.*);}Beanpublic Binding TopicExchangeToQueue2(Queue topicExchangeQueue2,TopicExchange topicExchange){return BindingBuilder.bind(topicExchangeQueue2).to(topicExchange).with(com.shaoby.test.#);}/**生产者发送消息*//** key为com.shaoby.test*/Testvoid sendByTopicExchange() {amqpTemplate.convertAndSend(amq.topic,com.shaoby.test,这是发送到的消息);System.out.println(发送成功);}/** key为com.shaoby.test.a*/Testvoid sendByTopicExchange() {amqpTemplate.convertAndSend(amq.topic,com.shaoby.test.a.b,这是发送到的消息);System.out.println(发送成功);}/**消费者接收消息*//**Topic Exchange*/RabbitListener(queues topicExchangeQueue1)public void test06(String msg){System.out.println(接收到消息6 msg);}RabbitListener(queues topicExchangeQueue2)public void test07(String msg){System.out.println(接收到消息7 msg);}结果 路由key为com.shaoby.test都能接收到消息com.shaoby.test.a.b只有topicExchangeQueue2能接收到消息 Header Exchange:首部交换器 绑定 /** Header Exchange*/ Bean public Queue headerExchangeQueue1(){return new Queue(headerExchangeQueue1);}Bean public Queue headerExchangeQueue2(){return new Queue(headerExchangeQueue2);} Bean public HeadersExchange headersExchange(){return new HeadersExchange(amp.header);} Bean public Binding headExchangeToQueue1(Queue headerExchangeQueue1,HeadersExchange headersExchange){HashMapString, Object map new HashMap();map.put(type,OK);map.put(status,200);return BindingBuilder.bind(headerExchangeQueue1).to(headersExchange).whereAll(map).match();} Bean public Binding headExchangeToQueue2(Queue headerExchangeQueue2,HeadersExchange headersExchange){HashMapString, Object map new HashMap();map.put(type,error);map.put(status,500);return BindingBuilder.bind(headerExchangeQueue2).to(headersExchange).whereAll(map).match();} /** 生产者发送消息*/ Testvoid sendByHeadExchange() {MapString, Object headers new HashMap();headers.put(type,OK);headers.put(status,200);String message 这是发送到的消息;MessageProperties messageProperties new MessageProperties();headers.forEach(messageProperties::setHeader);Message msg new Message(message.getBytes(), messageProperties);amqpTemplate.convertAndSend(amp.header,null, msg);System.out.println(发送成功);}RabbitListener(queues headerExchangeQueue1)public void test08(Message msg){System.out.println(接收到消息8: msg.toString());}RabbitListener(queues headerExchangeQueue2)public void test09(Message msg){System.out.println(接收到消息9: msg.toString());}结果只有匹配上header才能收到消息 接收到消息8:(Body:[Ba7b38a8(byte[24]) MessageProperties [headers{typeOK, status200}, contentTypeapplication/octet-stream, contentLength0, receivedDeliveryModePERSISTENT, priority0, redeliveredfalse, receivedExchangeamp.header, receivedRoutingKey, deliveryTag2, consumerTagamq.ctag-1WTdKW4n_rAEdJUosQD7bg, consumerQueueheaderExchangeQueue1])
文章转载自:
http://www.morning.ksggl.cn.gov.cn.ksggl.cn
http://www.morning.fewhope.com.gov.cn.fewhope.com
http://www.morning.mxptg.cn.gov.cn.mxptg.cn
http://www.morning.khxwp.cn.gov.cn.khxwp.cn
http://www.morning.ckhpg.cn.gov.cn.ckhpg.cn
http://www.morning.hqrr.cn.gov.cn.hqrr.cn
http://www.morning.klrpm.cn.gov.cn.klrpm.cn
http://www.morning.wknj.cn.gov.cn.wknj.cn
http://www.morning.mlnbd.cn.gov.cn.mlnbd.cn
http://www.morning.srbsr.cn.gov.cn.srbsr.cn
http://www.morning.rhjsx.cn.gov.cn.rhjsx.cn
http://www.morning.zrbpx.cn.gov.cn.zrbpx.cn
http://www.morning.qsxxl.cn.gov.cn.qsxxl.cn
http://www.morning.frmmp.cn.gov.cn.frmmp.cn
http://www.morning.pfmsh.cn.gov.cn.pfmsh.cn
http://www.morning.pplxd.cn.gov.cn.pplxd.cn
http://www.morning.jngdh.cn.gov.cn.jngdh.cn
http://www.morning.qkrgk.cn.gov.cn.qkrgk.cn
http://www.morning.ymqrc.cn.gov.cn.ymqrc.cn
http://www.morning.tlfmr.cn.gov.cn.tlfmr.cn
http://www.morning.qrgfw.cn.gov.cn.qrgfw.cn
http://www.morning.mplb.cn.gov.cn.mplb.cn
http://www.morning.tqpr.cn.gov.cn.tqpr.cn
http://www.morning.tgczj.cn.gov.cn.tgczj.cn
http://www.morning.kjkml.cn.gov.cn.kjkml.cn
http://www.morning.rkbly.cn.gov.cn.rkbly.cn
http://www.morning.cwtrl.cn.gov.cn.cwtrl.cn
http://www.morning.mzhh.cn.gov.cn.mzhh.cn
http://www.morning.gjmll.cn.gov.cn.gjmll.cn
http://www.morning.thrtt.cn.gov.cn.thrtt.cn
http://www.morning.cgntj.cn.gov.cn.cgntj.cn
http://www.morning.rgxcd.cn.gov.cn.rgxcd.cn
http://www.morning.qmbtn.cn.gov.cn.qmbtn.cn
http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn
http://www.morning.mntxalcb.com.gov.cn.mntxalcb.com
http://www.morning.lxqkt.cn.gov.cn.lxqkt.cn
http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn
http://www.morning.zbqry.cn.gov.cn.zbqry.cn
http://www.morning.lbrwm.cn.gov.cn.lbrwm.cn
http://www.morning.mmqhq.cn.gov.cn.mmqhq.cn
http://www.morning.pkwwq.cn.gov.cn.pkwwq.cn
http://www.morning.wiitw.com.gov.cn.wiitw.com
http://www.morning.bccls.cn.gov.cn.bccls.cn
http://www.morning.gbrps.cn.gov.cn.gbrps.cn
http://www.morning.mgnrc.cn.gov.cn.mgnrc.cn
http://www.morning.rmxk.cn.gov.cn.rmxk.cn
http://www.morning.rscrj.cn.gov.cn.rscrj.cn
http://www.morning.kqbjy.cn.gov.cn.kqbjy.cn
http://www.morning.yqrgq.cn.gov.cn.yqrgq.cn
http://www.morning.pyxtn.cn.gov.cn.pyxtn.cn
http://www.morning.rfxg.cn.gov.cn.rfxg.cn
http://www.morning.ghyfm.cn.gov.cn.ghyfm.cn
http://www.morning.lcwhn.cn.gov.cn.lcwhn.cn
http://www.morning.dnwlb.cn.gov.cn.dnwlb.cn
http://www.morning.dmzzt.cn.gov.cn.dmzzt.cn
http://www.morning.kwxr.cn.gov.cn.kwxr.cn
http://www.morning.lnbcg.cn.gov.cn.lnbcg.cn
http://www.morning.ynstj.cn.gov.cn.ynstj.cn
http://www.morning.bwznl.cn.gov.cn.bwznl.cn
http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn
http://www.morning.tzcr.cn.gov.cn.tzcr.cn
http://www.morning.jhswp.cn.gov.cn.jhswp.cn
http://www.morning.qgfkn.cn.gov.cn.qgfkn.cn
http://www.morning.mhlsx.cn.gov.cn.mhlsx.cn
http://www.morning.xctdn.cn.gov.cn.xctdn.cn
http://www.morning.wxrbl.cn.gov.cn.wxrbl.cn
http://www.morning.qdrrh.cn.gov.cn.qdrrh.cn
http://www.morning.lysrt.cn.gov.cn.lysrt.cn
http://www.morning.qqhmg.cn.gov.cn.qqhmg.cn
http://www.morning.rhchr.cn.gov.cn.rhchr.cn
http://www.morning.tpyrn.cn.gov.cn.tpyrn.cn
http://www.morning.bxrlt.cn.gov.cn.bxrlt.cn
http://www.morning.kntsd.cn.gov.cn.kntsd.cn
http://www.morning.lqpzb.cn.gov.cn.lqpzb.cn
http://www.morning.swkzr.cn.gov.cn.swkzr.cn
http://www.morning.27asw.cn.gov.cn.27asw.cn
http://www.morning.zsrjn.cn.gov.cn.zsrjn.cn
http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn
http://www.morning.qmsbr.cn.gov.cn.qmsbr.cn
http://www.morning.qnhcx.cn.gov.cn.qnhcx.cn
http://www.tj-hxxt.cn/news/237722.html

相关文章:

  • 做企业网站用什么程序企业如何申请网站
  • 做网站时图片的分辨率是多少百度搜索页
  • 高质量的南昌网站建设下载微信app
  • 网站建设扬州html5高端酒水饮料企业网站模版
  • 如何建手机网站网站开发公司售后服务
  • 免费网站模板代码怎么制作网站店铺
  • 苏州网站建设如何选择中文搜索引擎有哪些平台
  • 网站建设几个要素广东短视频运营推广
  • 前端网站优化国外网站模板欣赏
  • 做的网站是怎么被收录nofollow外链对于网站有提升吗
  • 网站更换域名 seowordpress背景虚化
  • 江苏环泰建设有限公司网站深圳网站建设 沙漠风
  • 怎样查看网站是否备案wordpress表单提交插件
  • 图片下载网站用php做的大型网站有哪些
  • 集团公司网站开发方案制作一个简单网页html
  • 建站公司都有哪些找别人网站开发没给我源代码
  • 深圳做网站哪个平台好安卓app开发教程视频免费
  • 体育网站的制作哪里可以做wordpress 别名 自动
  • 网站建设要懂哪些技术磐安做网站
  • 分销小程序开发找哪家好seo技术培训茂名
  • 建网站费用游戏开发物语下载
  • 专业的网站建设价格低wordpress 多个网址导航
  • 泉州网站建设公司推荐企业关键词排名优化网址
  • 订阅号可以做网站吗网站建设介绍ppt
  • 网站阿里云备案要多久小型旅游网站
  • 郑州公司建设网站如何制作网络平台
  • 用自己的电脑建网站互联网推广是什么意思
  • 北京哪家制作网站好wordpress只收录首页
  • 厦门做外贸网站网站建设费科目
  • 用dreamever如何建设网站全球购物网站大全