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

海报素材库网站免费网站制作商城

海报素材库网站免费,网站制作商城,长沙网站设计服务,没有排名的网站怎么做一、简介 在Spring项目中#xff0c;可以使用Spring-Rabbit去操作RabbitMQ 尤其是在spring boot项目中只需要引入对应的amqp启动器依赖即可#xff0c;方便的使用RabbitTemplate发送消息#xff0c;使用注解接收消息。 一般在开发过程中#xff1a; 生产者工程#xf…一、简介 在Spring项目中可以使用Spring-Rabbit去操作RabbitMQ 尤其是在spring boot项目中只需要引入对应的amqp启动器依赖即可方便的使用RabbitTemplate发送消息使用注解接收消息。 一般在开发过程中 生产者工程 application.yml文件配置相关信息在生产者工程中编写配置类用于创建交换机和队列并进行绑定注入RabbitTemplate对象通过RabbitTemplate对象发送消息到交换机 消费者工程 application.yml文件配置相关信息创建消息处理类用于接收队列中的消息并进行处理 二、项目结构 三、加入依赖jar dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactId /dependency 四、编写配置文件 spring:rabbitmq:username: userpassword: 123456virtual-host: /adminport: 5672 mq:exchange:name: test_exchange_topicqueue:name1: test_topic_exchange_queue1name2: test_topic_exchange_queue2 五、编写配置类 import org.springframework.amqp.core.*; import org.springframework.amqp.core.ExchangeBuilder; import org.springframework.amqp.core.QueueBuilder; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class TopicConfig {Value(${mq.exchange.name})private String EXCHANGENAME;Value(${mq.queue.name1})private String QUEUENAME1;Value(${mq.queue.name2})private String QUEUENAME2;Bean(Exchange)public Exchange getExchange(){Exchange exchange ExchangeBuilder.topicExchange(EXCHANGENAME).durable(false).build();return exchange;}Bean(Queue1)public Queue getQueue1(){Queue build QueueBuilder.nonDurable(QUEUENAME1).build();return build;}Bean(Queue2)public Queue getQueue2(){Queue build QueueBuilder.nonDurable(QUEUENAME2).build();return build;}Bean(Binding1)public Binding bindingQueueToExchange1(Qualifier(Exchange)Exchange exchange,Qualifier(Queue1) Queue queue){Binding noargs BindingBuilder.bind(queue).to(exchange).with(test.#).noargs();return noargs;}Bean(Binding2)public Binding bindingQueueToExchange2(Qualifier(Exchange)Exchange exchange,Qualifier(Queue2) Queue queue){Binding noargs BindingBuilder.bind(queue).to(exchange).with(test.*).noargs();return noargs;} } 六、测试类 import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;SpringBootTest public class ProductTest {Value(${mq.exchange.name})private String EXCHANGENAME;ResourceRabbitTemplate rabbitTemplate;org.junit.jupiter.api.Testpublic void t1(){rabbitTemplate.convertAndSend(EXCHANGENAME,test.t,随便测试);} } 七. 消费者消费消息 Component public class Comm {RabbitListener(queues test_topic_exchange_queue1)public void t1(Message message){byte[] body message.getBody();String string new String(body);System.out.println(string----------------);}}八、消息的可靠性传递 1.Confirm (1) 修改application.yml文件 (2) 写一个测试类 SpringBootTest public class ProductTest {Value(${mq.exchange.name})private String EXCHANGENAME;ResourceRabbitTemplate rabbitTemplate;org.junit.jupiter.api.Testpublic void t2(){rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {Overridepublic void confirm(CorrelationData correlationData, boolean b, String s) {if (b) {System.out.println(发送成功);}else {System.out.println(发送不成功s);}}});rabbitTemplate.convertAndSend(EXCHANGENAME,test.t,随便测试);} } 2. Return (1) 配置文件中设置回退模式 spring:rabbitmq:username: userpassword: 123456virtual-host: /adminport: 5672host: 192.168.44.64publisher-returns: true # publisher-confirm-type: correlated mq:exchange:name: test_exchange_topicqueue:name1: test_topic_exchange_queue1name2: test_topic_exchange_queue2 (2) 测试 import org.springframework.amqp.rabbit.connection.CorrelationData; import org.springframework.amqp.rabbit.core.RabbitTemplate; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest;import javax.annotation.Resource;SpringBootTest public class ProductTest {Value(${mq.exchange.name})private String EXCHANGENAME;ResourceRabbitTemplate rabbitTemplate;org.junit.jupiter.api.Testpublic void t1(){rabbitTemplate.convertAndSend(EXCHANGENAME,test.t,随便测试);}org.junit.jupiter.api.Testpublic void t2(){rabbitTemplate.setConfirmCallback(new RabbitTemplate.ConfirmCallback() {Overridepublic void confirm(CorrelationData correlationData, boolean b, String s) {if (b) {System.out.println(发送成功);}else {System.out.println(发送不成功s);}}});rabbitTemplate.convertAndSend(EXCHANGENAME,test.t,随便测试);}org.junit.jupiter.api.Testpublic void t3(){rabbitTemplate.setMandatory(true);rabbitTemplate.setReturnsCallback(returnedMessage -System.out.println(消息回退new String(returnedMessage.getMessage().getBody())));rabbitTemplate.convertAndSend(EXCHANGENAME,test.a,测试测试);} }
http://www.yutouwan.com/news/300949/

相关文章:

  • 北京pk10做号网站企业失信被执行人查询
  • 南山优化网站建设案例wordpress主题 Grace
  • 做网站需要开放哪些端口滨海建设局官方网站
  • 四大门户网站的优缺点深圳百度推广开户
  • 连云港网站建设公司app推广赚钱
  • 湖北专业网站建设产品介绍策划会展网站建设
  • 西安 餐饮 网站建设dnf制裁做任务网站
  • 建设银行u盾自动弹出网站网站 管理
  • 常州网站建设网站有没有可以做兼职的网站吗
  • 网站建设的论文永久免费vps服务器
  • 荆州网站建设 松滋网站建设网站设计的风格有哪些
  • dede网站建设海淀网站建设公司
  • 哈尔滨建设银行网站首页仿快法务网站开发模板
  • 下载爱城市网app官方网站zend studio 网站开发
  • 网站建设百度认证安庆市住房和建设厅网站首页
  • 茂名东莞网站建设网站空间与域名的关系
  • 网站交换链接如何实施快速建站哪个平台好
  • 东阳市城建设局网站做邮轮的网站
  • 天门建站top域名的网站打不开
  • 如何识别网站建设旅游网站盈利模式怎么做
  • wordpress linux 中文百度seo推广工具
  • 怎样免费安装wordpress太原seo管理
  • 网站平台建设实训总结网站seo月报
  • 国外电商网站如何建立牡丹江生活信息网
  • 甘肃省建设厅查行网站东莞网络营销信息
  • 作文网站源码广西南宁市有公司网站设计
  • 佛山网站建设排名电子商务网站建设流程是什么
  • 网站seo方案案例做分析仪器推广的网站
  • 湖南网站建站系统平台河北建设工程信息网网址
  • 触屏版网站模板创意产品网站