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

做网站如何组建域名武进网站建设基本流程

做网站如何组建域名,武进网站建设基本流程,ide 在线 wordpress,网站主体负责人 法人1. Return机制 Confirm只能保证消息到达exchange#xff0c;无法保证消息可以被exchange分发到指定queue。 而且exchange是不能持久化消息的#xff0c;queue是可以持久化消息。 采用Return机制来监听消息是否从exchange送到了指定的queue中 2.Java的实现方式 1.导入依赖 无法保证消息可以被exchange分发到指定queue。 而且exchange是不能持久化消息的queue是可以持久化消息。 采用Return机制来监听消息是否从exchange送到了指定的queue中 2.Java的实现方式 1.导入依赖 dependencygroupIdcom.rabbitmq/groupIdartifactIdamqp-client/artifactIdversion5.6.0/version/dependency 2.生产者的实现方式 采用Return机制来监听消息是否从exchange送到了指定的queue中 package com.qf.mq2302.hello;import com.qf.mq2302.utils.MQUtils; import com.rabbitmq.client.AMQP; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.ReturnListener;import java.io.IOException;public class SendRetrun {public static final String QUEUE_NAMEhello-queue;public static void main(String[] args) throws Exception {//1.获取连接对象Connection conn MQUtils.getConnection();//2. 创建一个channel对象,对于MQ的大部分操作都定义在了channel对象上Channel channel conn.createChannel();//3.声明了一个队列/*** queue – the name of the queue* durable – true代表创建的队列是持久化的当mq重启后该队列依然存在* exclusive – 该队列是不是排他的 (该对立是否只能由当前创建该队列的连接使用)* autoDelete – 该队列是否可以被mq服务器自动删除* arguments – 队列的其他参数可以为null*/channel.queueDeclare(QUEUE_NAME, false, false, false, null);//开启 return 机制//编写回调方法channel.addReturnListener(new ReturnListener() {//如果消息没有成功发送到队列这个方法会被调用Overridepublic void handleReturn(int replyCode, String replyText, String exchange, String routingKey, AMQP.BasicProperties properties, byte[] body) throws IOException {System.out.println(ReturnListener);System.out.println(replyCode:replyCode);System.out.println(replyText:replyText);System.out.println(exchange:exchange);System.out.println(routingKey:routingKey);System.out.println(properties:properties);System.out.println(body:new String(body,utf-8));System.out.println(ReturnListener);}});String message Hello doubleasdasda!;//生产者如何发送消息使用下面的方法即可/*** exchange – 交换机的名字 ,如果是空串说明是把消息发给了默认交换机* routingKey – 路由的key,当发送消息给默认交换机时routingkey代表队列的名字* other properties - 消息的其他属性可以为null* body – 消息的内容注意要是有 字节数组*///注意如果要使用生产者的return机制需要在发送消息时指定mandatory(强制性)为truechannel.basicPublish(, sadnaas, true,null, message.getBytes());System.out.println( [x] Sent message );Thread.sleep(1000);// 关闭资源channel.close();conn.close();} }这个必须要加上才能让rutern返回机制生效  3.消费者的实现方式 package com.qf.mq2302.hello;import com.qf.mq2302.utils.MQUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; import com.rabbitmq.client.DeliverCallback; import com.rabbitmq.client.Delivery;import java.io.IOException;public class Recv {private final static String QUEUE_NAMEhello-queue;public static void main(String[] args) throws Exception {//1.获取连接对象Connection conn MQUtils.getConnection();//2. 创建一个channel对象,对于MQ的大部分操作都定义在了channel对象上Channel channel conn.createChannel();/*** 第一个参数队列名称* 第二个参数耐用性* 第三个参数排外性* 第四个参数是否自动删除* 第五个参数可以定义什么类型的队列*/channel.queueDeclare(QUEUE_NAME, false, false, false, null);//3.该消费者收到消息之后的处理逻辑写在DeliverCallback对象中DeliverCallback deliverCallback new DeliverCallback() {Overridepublic void handle(String consumerTag, Delivery message) throws IOException {System.out.println(consumerTag);//从Delivery对象中可以获取到生产者发送的消息的字节数组byte[] body message.getBody();String msg new String(body, utf-8);//在这里写消费者的业务逻辑,例如,发送邮件System.out.println(msg);}};//4.让当前消费者开始消费QUEUE_NAME队列中的消息/*** queue – the name of the queue* autoAck – true 代表当前消费者是不是自动确认模式。true代表自动确认。* deliverCallback – 当有消息发送给该消费者时消费者如何处理消息的逻辑* cancelCallback – 当消费者被取消掉时如果要执行代码写到这里*/channel.basicConsume(QUEUE_NAME,true,deliverCallback,consumerTag - {});}}3.整合springboot实现 1.导入依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependency2.yml配置文件 spring:rabbitmq:host: 8.140.244.227port: 6786username: testpassword: testvirtual-host: /testpublisher-returns: true #开启return机制 3.RabbitMQ配置文件 package com.qf.bootmq2302.config;import org.springframework.amqp.core.Message; import org.springframework.amqp.rabbit.connection.CachingConnectionFactory; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class RabbitConfig {Beanpublic RabbitTemplate rabbitTemplate(CachingConnectionFactory cachingConnectionFactory){RabbitTemplate rabbitTemplate new RabbitTemplate();//设置连接工厂对象rabbitTemplate.setConnectionFactory(cachingConnectionFactory);// 开启return机制rabbitTemplate.setMandatory(true);rabbitTemplate.setReturnCallback(new RabbitTemplate.ReturnCallback() {Overridepublic void returnedMessage(Message message, int replyCode, String replyText, String exchange, String routingKey) {System.out.println(message:new String(message.getBody()));System.out.println(replyCode:replyCode);System.out.println(replyText:replyText);System.out.println(exchange:exchange);System.out.println(routingKey:routingKey);}});return rabbitTemplate;}}4.生产者的controller AutowiredRabbitTemplate rabbitTemplate;GetMapping(/test1)public String test1(String msg,String routkey){System.out.println(msg);String exchangeName ;//默认交换机String routingkey routkey;//队列名字//生产者发送消息rabbitTemplate.convertAndSend(exchangeName,routingkey,msg);return ok;} 5.消费者写一个队列 RabbitListener(queues queueA)public void getMsg1(MapString,Object data, Channel channel,Message message) throws IOException {System.out.println(data);//手动ack//若开启手动ack不给手动ack就按照 prefetch: 1 #等价于basicQos(1)的量就这么多不会多给你了因为你没有确认。确认一条就给你一条channel.basicAck(message.getMessageProperties().getDeliveryTag(),false);} 6.消费者的配置文件 spring:rabbitmq:host: 8.140.244.227port: 6786username: testpassword: testvirtual-host: /test#手动ACKlistener:simple:acknowledge-mode: manual # 手动ackprefetch: 1 #等价于basicQos(1)
http://www.w-s-a.com/news/825480/

相关文章:

  • 企业官方网站地址通了网站建设
  • 专题网站可以做什么怎么做网站滑动图片部分h5
  • 什么是网站建设外包html 门户网站
  • 资阳市建设局网站微信开发公司
  • wap建站程序源码可不可以异地建设网站
  • 优秀企业网站的特点网站标签名词
  • 建材网站建设案例淄博网站建设培训
  • 纯代码添加wordpress网站底部导航宝塔自助建站源码
  • 网站设计技术有哪些?青岛网站建设工作室
  • 网站怎样建设才叫人性化宣传
  • 济南网站制作方案做淘客网站备案
  • h5企业网站只做做php门户网站那个系统好
  • 长春阿凡达网站建设建网站如果不买域名别人能不能访问
  • 佛山网站建设策划东莞建设工程交易网
  • 制作公众号网站开发濮阳建网站
  • 屏南网站建设兼职旅游网站建设方案两百字
  • 最牛的网站建设网站建设的规模设想
  • 马云之前做的网站企业形象策划
  • ie9网站后台编辑器代发qq群发广告推广
  • 百度怎样建立一个网站嘉兴高端网站定制
  • 国外设计网站怎么进入电子网站建设前台设计
  • 中方建设局网站济南网站建设公司电子商务网站
  • 如何做网站编辑 沒技术济南企业做网站推广网站
  • 网站模板 百科北京中高风险地区最新名单最新
  • 高校网站建设前言做公众号的公司是什么公司
  • 网站备案怎么登陆短视频培训学校
  • 百度图片点击变网站是怎么做的北京市建设工程质量监督站网站
  • 在线建站模板重庆网站建设大概需要多少钱
  • 建设网站公司电话号码wordpress 即时通讯
  • 网站设计用的技术拓者吧室内设计网app