学习目标:
- 了解并熟悉ssm(已完成)
- 了解springboot(完成)
- 熟练运用springboot(待参与开发)
- 了解开发业务知识(待参与开发)
- 熟练使用git(完成)
- 掌握springcould
- 算法进阶
- linux基本语句(完成)
- redis
今日学习内容:
- MQ
- docker实践
- 复习springcould
学习内容简单总结:
- 消息队列
目的:了解如何配置、使用,
主要内容:安装启动RabbitMQ、SpringAMQP如何实现五种消息队列、SpringAMQP-消息转换器
安装启动RabbitMQ:注意版本和docker版本的适配,配置按照说明文档来就可
SpringAMQP如何实现五种消息队列:基本消息队列(BasicQueue) 、工作消息队列(WorkQueue)、发布订阅(Publish、Subscribe)又根据交换机类型不同分为三种:Fanout Exchange:广播 Direct Exchange:路由 Topic Exchange:主题,实现过程:
导入依赖<!--AMQP依赖,包含RabbitMQ--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>,在发送者中编写application.yml文件中填入mq连接信息,发送者进行编写发送消息程序使用自动注入的RabbitTemplate类,使用该类中的convertAndSend方法内部可以填入转换机和对应key值或者渠道名,再填入发送信息,再从接收端同样导入依赖和编写连接配置文件,不同的是要编写接收者类实现消费消息逻辑,使用@Component注解和@RabbitListener注解(内部填入渠道名或者绑定注解@QueueBinding),注意的是消息一旦消费就会从队列删除,RabbitMQ没有消息回溯功能
SpringAMQP-消息转换器:在SpringAMQP的发送方法中,接收消息的类型是Object,也就是说我们可以发送任意对象类型的消息,SpringAMQP会帮我们序列化为字节后发送Spring的对消息对象的处理是由org.springframework.amqp.support.converter.MessageConverter来处理的。而默认实现是SimpleMessageConverter,基于JDK的ObjectOutputStream完成序列化,修改方式引入jackson依赖,生成一个以json格式格式进行序列化的MessageConverter类型,在接收方和发送方两方都进行上述更改,再将消费者中的方法型参类型更改为传输值类型
反思与总结:
-
昨日休息很好,今日状态很好
可证睡眠质量对精神状态的影响,铁律1:不可熬夜 -
心理建设和身体运动
要保持积极乐观,不能急躁,遇事冷静,运动一周要有两到三次30分钟的有氧,前路漫漫,吾当勉励