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

设计比较好的政府网站宁德seo推广

设计比较好的政府网站,宁德seo推广,长江商学院 网站建设,开发网站开发工程师SpringBoot整合RabbitMQ SpringBoot整合1、生产者工程①创建module②配置POM③YAML④主启动类⑤测试程序 2、消费者工程①创建module②配置POM③YAML文件内配置: ④主启动类⑤监听器 3、RabbitListener注解属性对比①bindings属性②queues属性 SpringBoot整合 1、生…

SpringBoot整合RabbitMQ

  • SpringBoot整合
    • 1、生产者工程
      • ①创建module
      • ②配置POM
      • ③YAML
      • ④主启动类
      • ⑤测试程序
    • 2、消费者工程
      • ①创建module
      • ②配置POM
      • ③YAML
        • 文件内配置:
      • ④主启动类
      • ⑤监听器
    • 3、@RabbitListener注解属性对比
      • ①bindings属性
      • ②queues属性

SpringBoot整合

1、生产者工程

①创建module

在这里插入图片描述

②配置POM

添加如下依赖:

<dependencies><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>

③YAML

spring: rabbitmq: host: 192.168.xxx.xxxport: 5672 username: guest password: 123456 virtual-host: /

④主启动类

package com.xxx.mq;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @ClassName: RabbitMQProducerMainType* @Package: com.xxx.mq* @Author: * @CreateDate: * @Version: V1.0.0* @Description:*/@SpringBootApplication
public class RabbitMQProducerMainType {public static void main(String[] args) {SpringApplication.run(RabbitMQProducerMainType.class, args);}}

⑤测试程序

在src目录下的test目录内新建测试类:

package com.xxx.mq.test;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;/*** @ClassName: RabbitMQTest* @Package: com.xxx.mq.test* @Author: * @CreateDate: * @Version: V1.0.0* @Description:*/@SpringBootTest
public class RabbitMQTest {public static final String EXCHANGE_DIRECT = "exchange.direct.order";public static final String ROUTING_KEY = "order";@Autowiredprivate RabbitTemplate rabbitTemplate;@Testpublic void test01SendMessage() {rabbitTemplate.convertAndSend(EXCHANGE_DIRECT, ROUTING_KEY, "Hello Rabbit!SpringBoot!");}}

2、消费者工程

①创建module

在这里插入图片描述

②配置POM

添加如下依赖:

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependency></dependencies>

③YAML

增加日志打印的配置:
在这里插入图片描述
新建名为application的yml文件。

文件内配置:
spring:rabbitmq:host: 192.168.xxx.xxxport: 5672username: guestpassword: 123456virtual-host: /
logging:level:com.xxx.mq.listener.MyMessageListener: info

将host修改为自己的地址。

④主启动类

package com.xxx.mq;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @ClassName: RabbitMQConsumerMainType* @Package: com.xxx.mq* @Author: * @CreateDate: * @Version: V1.0.0* @Description:*/@SpringBootApplication
public class RabbitMQConsumerMainType {public static void main(String[] args) {SpringApplication.run(RabbitMQConsumerMainType.class, args);}}

⑤监听器

新建子包listener,并编写监听类:

package com.xxx.mq.listener;import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;/*** @ClassName: MyMessageListener* @Package: com.xxx.mq.listener* @Author: * @CreateDate: * @Version: V1.0.0* @Description:*/@Component
@Slf4j
public class MyMessageListener {public static final String EXCHANGE_DIRECT = "exchange.direct.order";public static final String ROUTING_KEY = "order";public static final String QUEUE_NAME = "queue.order";//    写法一:监听 + 在 RabbitMQ 服务器上创建交换机、队列@RabbitListener(bindings = @QueueBinding(value = @Queue(value = QUEUE_NAME, durable = "true"),exchange = @Exchange(value = EXCHANGE_DIRECT),key = {ROUTING_KEY}))
//    写法二:监听
//    @RabbitListener(queues = {QUEUE_NAME})public void processMessage(String dataString, Message message, Channel channel) {log.info("消费端接收到了消息:" + dataString);}
}

3、@RabbitListener注解属性对比

①bindings属性

  • 表面作用:
    • 指定交换机和队列之间的绑定关系
    • 指定当前方法要监听的队列
  • 隐藏效果:如果RabbitMQ服务器上没有这里指定的交换机和队列,那么框架底层的代码会创建它们

②queues属性

@RabbitListener(queues = {QUEUE_TEST})
  • 作用:指定当前方法要监听的队列
  • 注意:此时框架不会创建相关交换机和队列,必须提前创建好

先启动生产者端代码,此时会立即执行完成。然后执行消费者端代码,等待消息。
在生产者端module下的test内有创建好的测试代码,执行test01SendMessage测试方法,结果如图所示:
在这里插入图片描述
在这里插入图片描述
可以看到收到了生产者测试代码中的消息。前面的报错是因为我先启动了消费者端代码,此时找不到对应的交换机以及消息队列,当启动生产者端代码后就不会报错了,可以正确的接收到消息。

http://www.hkea.cn/news/583438/

相关文章:

  • 合肥本地网站网站关键词公司
  • 武汉电商网站建设seopc流量排行榜企业
  • 如何给给公司建立网站seo商学院
  • 让建站公司做网站需要什么最新腾讯新闻
  • 网站开发的意义搜索关键词排名优化
  • 如何建一个论坛网站怎么做营销推广
  • 元凤建盏简介青岛seo
  • 营销型网站套餐cps游戏推广平台
  • 哪些网站做ip向小说网络营销公司经营范围
  • 蜜芽免费网站域名关键词网站排名查询
  • 网站备案要到哪里下载关键词在线挖掘网站
  • 跨境电商开发seo的优化策略有哪些
  • 做网站的费用 优帮云百度广告代运营
  • wordpress儿童卡通主题兰州网站seo服务
  • 8网站建设做网站sem优化师是什么意思
  • 设计师个人网站怎么做百度优化培训
  • 广东海外建设监理有限公司官方网站2345网址导航是病毒吗
  • 深圳网站制作培训宁波网络营销公司
  • 网站建设方案书 模板长清区seo网络优化软件
  • 简述网站的推广策略产品设计
  • 商贸有限公司网站建设此网站服务器不在国内维护
  • 常州个人做网站制作小程序的软件
  • 郑州做网站公司dz论坛如何seo
  • 十堰商城网站建设网络营销seo优化
  • 小欢喜林磊儿什么网站做家教福州seo推广外包
  • 许昌网站开发博客营销
  • 做网站用jquery爱站网关键词挖掘
  • wordpress手动裁剪seo营销推广服务公司
  • 英文网站建设网站海南网站制作公司
  • 网页设计与网站建设主要内容软文营销的特点