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

wordpress 上传8m限制合肥网站优化公司

wordpress 上传8m限制,合肥网站优化公司,php图书管理系统,招聘58同城招人将来我们开发业务功能的时候,肯定不会在控制台收发消息,而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议,因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息,都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不…

        将来我们开发业务功能的时候,肯定不会在控制台收发消息,而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议,因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息,都可以与RabbitMQ交互。并且RabbitMQ官方也提供了各种不同语言的客户端。 但是,RabbitMQ官方提供的Java客户端编码相对复杂,一般生产环境下我们更多会结合Spring来使用。而Spring的官方刚好基于RabbitMQ提供了这样一套消息收发的模板工具:SpringAMQP。并且还基于SpringBoot对其实现了自动装配,使用起来非常方便。

SpringAmqp的官方地址: Spring AMQP SpringAMQP提供了三个功能:

  • 自动声明队列、交换机及其绑定关系

  • 基于注解的监听器模式,异步接收消息

  • 封装了RabbitTemplate工具,用于发送消息

消息发送

创建一个空白工程,新建模块maven 

 目录结构参考下图:

包括三部分:

  • mq-demo:父工程,管理项目依赖

  • publisher:消息的发送者

  • consumer:消息的消费者

在pop.xml中配置好相关依赖: 

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.itcast.demo</groupId><artifactId>mq-demo</artifactId><version>1.0-SNAPSHOT</version><modules><module>publisher</module><module>consumer</module></modules><packaging>pom</packaging><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/></parent><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency><!--AMQP依赖,包含RabbitMQ--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><!--单元测试--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies>
</project>

我们在控制台新建一个队列:

在test目录下新建一个 springampqtest:添加如下代码

package com.itheima.publisher;import org.junit.jupiter.api.Test;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;@SpringBootTest
public class SpringAmqpTest {@Autowiredprivate RabbitTemplate rabbitTemplate;@Testpublic void testSimpleQueue() {// 队列名称String queueName = "simple.queue";// 消息String message = "hello, spring amqp!";// 发送消息rabbitTemplate.convertAndSend(queueName, message);}
}

在application.yml中添加主机信息:

logging:pattern:dateformat: MM-dd HH:mm:ss:SSS
spring:rabbitmq:host: 192.168.58.205 # 你的虚拟机IPport: 5672 # 端口virtual-host: /hamall # 虚拟主机username: admin # 用户名password: 123 # 密码

 运行代码:

 可以看到队列接受的信息:

消息接收

目录结构为:

 新建一个监听者listener:

package com.itheima.consumer.listeners;import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;@Component
public class MqListener {// 利用RabbitListener来声明要监听的队列信息// 将来一旦监听的队列中有了消息,就会推送给当前服务,调用当前方法,处理消息。// 可以看到方法体中接收的就是消息体的内容@RabbitListener(queues = "simple.queue")public void listenSimpleQueueMessage(String msg) throws InterruptedException {System.out.println("spring 消费者接收到消息:【" + msg + "】");}
}

http://www.jinmujx.cn/news/116539.html

相关文章:

  • 竹子建站怎么样上海seo顾问
  • 中英文网站价格2022最近热点事件及评述
  • 做零售去哪个外贸网站上海seo推广方法
  • 自己做微商想做个网站某网站搜索引擎优化
  • b2b电子商务平台建设seo站长工具下载
  • 怎么优化网站排名网站搭建需要什么
  • wp系统网站如何做seo想做网络推广的公司
  • 店铺装修设计网站不受限制的浏览器
  • 北京企业网站建设报价seo顾问是什么职业
  • 做网站好公司百度指数属于行业趋势及人群
  • iis服务器的默认网站网络项目免费的资源网
  • 做soho一定要做网站吗湖南seo优化报价
  • 做介绍美食网站的菜单的seo排名关键词
  • 佛山疫情最新消息今天又封了杭州关键词优化平台
  • 建一个购物网站企业网络的组网方案
  • 深圳建业公司怎么样狼雨seo网站
  • 政府网站建设招标标书百度网盘优化
  • wordpress插件自动seo的优点和缺点
  • 网站建设最重要的因素国外域名
  • wordpress网站小屏关键词排名点击工具
  • 35云主机做网站对视频大小限制广州网站优化平台
  • 如何做网站的注册页面竞价推广账户托管费用
  • node 做的大型网站百度账号怎么改名字
  • 网站维护开发合同简述网站推广的方式
  • 企业建站用什么主机网络整合营销4i原则是指
  • 政府网站集约化试点工作建设背景怎么做电商卖东西
  • 广州外贸网站建设 open最新实时新闻
  • 长沙网站建设网站推广微信营销网站设计公司排行榜
  • 东莞松山湖网站建设百度推广后台登录首页
  • 网站在线留言怎么做广告推广免费平台