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

教育网站的建设男女在床上做羞羞的事的网站

教育网站的建设,男女在床上做羞羞的事的网站,装修网站建设方案百度文库,天津定制网站建设公司一、pom依赖二、消费端2.1、application.properties 配置文件2.2、消费端核心组件 三、生产端3.1、application.properties 配置文件2.2、生产者 MQ消息发送组件四、测试1、生产端控制台2、消费端控制台 一、pom依赖 dependencygroupIdorg.springframework.boo… 一、pom依赖二、消费端2.1、application.properties 配置文件2.2、消费端核心组件 三、生产端3.1、application.properties 配置文件2.2、生产者 MQ消息发送组件四、测试1、生产端控制台2、消费端控制台 一、pom依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!--spring整合MQ--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactId/dependency二、消费端 2.1、application.properties 配置文件 server.port8002 #上下文路径 server.servlet.context-path/ spring.application.namerabbit_consumer# MQ配置 spring.rabbitmq.addresses192.168.220.3:5672 spring.rabbitmq.usernameroot spring.rabbitmq.passwordroot # 虚拟主机 spring.rabbitmq.virtual-host/ # 连接超时 15秒 spring.rabbitmq.connection-timeout15000 # 设置消费端消费成功消息后手动签收消息默认auto自动签收 spring.rabbitmq.listener.simple.acknowledge-modemanual spring.rabbitmq.listener.simple.concurrency6 # 最大消费线程数并发数 spring.rabbitmq.listener.simple.max-concurrency11 # prefetch为限制一次传送给消费者的消息数 spring.rabbitmq.listener.simple.prefetch1# 自定义属性配置 MQ spring.rabbitmq.listener.test.exchangetest_topic_exchange spring.rabbitmq.listener.test.exchange.typetopic spring.rabbitmq.listener.test.queuetest_topic1 spring.rabbitmq.listener.test.keytest_topic1.*2.2、消费端核心组件 package com.xiao.component;import com.rabbitmq.client.Channel; import org.springframework.amqp.rabbit.annotation.*; import org.springframework.amqp.support.AmqpHeaders; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; import java.io.IOException;Component public class RabbitMQReceived {RabbitListener(bindings QueueBinding(exchange Exchange(name ${spring.rabbitmq.listener.test.exchange},type ${spring.rabbitmq.listener.test.exchange.type},durable true,ignoreDeclarationExceptions true),value Queue(value ${spring.rabbitmq.listener.test.queue},durable true),key ${spring.rabbitmq.listener.test.key}/*,admins root*/))/*** 监听消息* param message 消息* param channel 通道*/RabbitHandlerpublic void onMessage(Message message, Channel channel) throws IOException {System.err.println();System.err.println(消费端 RabbitMQReceived 消费消息 message.getPayload());Long deliveryTag (Long) message.getHeaders().get(AmqpHeaders.DELIVERY_TAG);//由于消费端配置手动消费消息后签收机制 spring.rabbitmq.listener.simple.acknowledge-modemanual // channel.basicAck(deliveryTag,false);System.err.println(消费端 RabbitMQReceived ackyes deliveryTag: deliveryTag);} }三、生产端 3.1、application.properties 配置文件 server.port8001 #上下文路径 server.servlet.context-path/ spring.application.namerabbit_produce# MQ配置 spring.rabbitmq.addresses192.168.220.3:5672 spring.rabbitmq.port5672 spring.rabbitmq.usernameroot spring.rabbitmq.passwordroot # 虚拟主机 spring.rabbitmq.virtual-host/ # 连接超时 15秒 spring.rabbitmq.connection-timeout15000 # 开启produce发送给broker的消息确认模式可靠性投递 spring.rabbitmq.publisher-confirmstrue #spring.rabbitmq.publisher-confirm-typetrue #有点问题 # 针对于broker未接收的消息return机制需要结合mandatory一起使用 #spring.rabbitmq.template.mandatorytrue #spring.rabbitmq.publisher-returnstrue2.2、生产者 MQ消息发送组件 package com.xiao.component;import org.springframework.amqp.AmqpException; import org.springframework.amqp.core.Correlation; import org.springframework.amqp.core.MessagePostProcessor; import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.support.MessageBuilder; import org.springframework.stereotype.Component; import java.util.Map; import java.util.UUID;Component public class RabbitMQSender {Autowiredprivate RabbitTemplate rabbitTemplate;//生产者发送消息到broker确认回调接口private final RabbitTemplate.ConfirmCallback confirmCallback new RabbitTemplate.ConfirmCallback() {/*** param correlationData 消息的唯一标识* param ack broke broker是否签收成功* param cause 失败异常信息*/Overridepublic void confirm(CorrelationData correlationData, boolean ack, String cause) {String formatStr String.format(生产端 confirmCallback 相关数据%s broker签收情况 ack%s异常信息%s ,correlationData.toString(),ack,cause);System.err.println(formatStr);/*System.out.println(生产端 confirmCallback 相关数据 correlationData);System.out.println(生产端 confirmCallback broker签收情况 ack);System.out.println(生产端 confirmCallback 异常信息 cause);*/}};/*** 发送消息* param message 消息* param properties 消息对应的属性如时间*/public void send(Object message, MapString,Object properties) {MessageHeaders messageHeaders new MessageHeaders(properties);Message? msg MessageBuilder.createMessage(message, messageHeaders);rabbitTemplate.setConfirmCallback(confirmCallback);//消息发送完后置处理器MessagePostProcessor messagePostProcessor new MessagePostProcessor() {Overridepublic org.springframework.amqp.core.Message postProcessMessage(org.springframework.amqp.core.Message message) throws AmqpException {System.err.println(生产端 RabbitMQSender send后置处理 message);return message;}Overridepublic org.springframework.amqp.core.Message postProcessMessage(org.springframework.amqp.core.Message message, Correlation correlation) {System.err.println(生产端 RabbitMQSender send后置处理 message 消息标识 correlation);return message;}};//消息唯一属性CorrelationData correlationData new CorrelationData(UUID.randomUUID().toString());rabbitTemplate.convertAndSend(test_topic_exchange,//exchange,test_topic1.xiao,// routingKey,msg, //message,messagePostProcessor,correlationData);} }四、测试 package com.xiao;import com.xiao.component.RabbitMQSender; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import java.util.HashMap; import java.util.Map;RunWith(SpringJUnit4ClassRunner.class) SpringBootTest public class SendMessageTest {Autowiredprivate RabbitMQSender rabbitMQSender;Testpublic void send() throws InterruptedException {MapString,Object properties new HashMap(2);properties.put(userName,xiao);rabbitMQSender.send(hello world!,properties);Thread.sleep(5000);//10秒} }1、生产端控制台 生产端 RabbitMQSender send后置处理(Body:[B3a6045c6(byte[535]) MessageProperties [headers{}, contentTypeapplication/x-java-serialized-object, contentLength535, deliveryModePERSISTENT, priority0, deliveryTag0]) 消息标识CorrelationData [id8c78e89d-80f3-4f3d-ba8b-13e863c6295c] 2023-07-21 20:05:37.611 INFO 4536 --- [ main] o.s.a.r.c.CachingConnectionFactory : Attempting to connect to: [192.168.220.3:5672] 2023-07-21 20:05:37.653 INFO 4536 --- [ main] o.s.a.r.c.CachingConnectionFactory : Created new connection: rabbitConnectionFactory#6f38a289:0/SimpleConnection6215366a [delegateamqp://root192.168.220.3:5672/, localPort 4712] 生产端 confirmCallback 相关数据CorrelationData [id8c78e89d-80f3-4f3d-ba8b-13e863c6295c]broker签收情况 acktrue异常信息null2、消费端控制台 消费端 RabbitMQReceived 消费消息hello world! 消费端 RabbitMQReceived ackyes deliveryTag:1
http://www.hkea.cn/news/14458107/

相关文章:

  • 淘宝客网站建设任务舆情系统是什么
  • 天津小程序网站开发公司西安专业做网站建设费用
  • 做企业网站的字体大小要求免费服务器领取
  • 汕头企业做网站沈阳的网站建设
  • 星沙网站建设中国建筑装饰网网址
  • 电子商务网站建设是学什么云浮市住房城乡建设信息网网站
  • 网站的建设分析及意义谷歌seo搜索引擎下载
  • 网站开发是前端还是后台js建设网站
  • 网站长春网站建设网站搜索不出来
  • 公司注销 网站备案申请表电子商务网站怎么建设
  • 微网站建设及微信推广方案ppt模板杭州市建设网站
  • 建设网站需要客户提供什么资料小程序商城哪家好经销商
  • 做服装商城网站wordpress固定链接域名
  • 怎么做百度网站会显示图片在旁边北京商务网站建设
  • 建设部网站取消园林资质如何破解wordpress数据库
  • 宝安多屏网站建设公司好吗公司网站文化活动备案
  • 安阳做网站优化大连网站开发平台
  • 深圳在线制作网站芜湖灵创网站建设
  • 网站引导页下载泉州英文网站建设
  • 网站和微网站机器人软件开发平台
  • 微擎做网站费用怎么做网页游戏的托
  • 广东人才招聘网seo实战密码电子版
  • 肇庆市网站建设平台北京网站推广营销策划
  • 网站怎么写泰州公司注册
  • 网站外链建设实例上海制造网站公司
  • 同域名网站改版需要把之前网站里的文章都拷贝过来吗?python做网站比php
  • 在线app开发平台广州网站快速排名优化
  • 阿里云有了域名 网站建设招聘求职网站html模板
  • 网站加速器免费永久在百度上注册公司网站要多少钱
  • 网站不兼容怎么办中专网站建设与管理就业前景