首页>>后端>>Spring->spring源码解读(spring5源码解析)

spring源码解读(spring5源码解析)

时间:2023-12-12 本站 点击:0

Springboot下的RabbitMQ消息监听源码解读

1、上篇我们说到了消息队列RabbitMQ的模式概念,那么这里将会针对模式使用SpringBoot联合RabbitMQ做一个案例,实现消息的生产和消费。这一篇也是这个主题的最后一篇了,建议配合着看。助于理解。

2、关于springBoot整合RabbitMQ及基本使用可以参考: springBoot整合RabbitMQ及基本使用 设置exchange为持久化之后,并不能保证消息不丢失,因为此时发送往exchange中的消息并不是持久化的,需要配置delivery_mode=2指明message为持久的。

3、spring amqp默认的是jackson 的一个插件,目的将生产者生产的数据转换为json存入消息队列,由于fastjson的速度快于jackson,这里替换为fastjson的一个实现 在这个项目中我的生产者和消费者是放到同一个项目中的。

「SpringCloud原理」Ribbon核心组件以及运行原理万字源码剖析

至于为什么容器选择NacosServerList而不是ConfigurationBasedServerList,主要是因为NacosRibbonClientConfiguration这个配置类是通过@RibbonClients导入的,也就是比SpringClientFactory导入的RibbonClientConfiguration配置类优先级高。

在上一节 SpringCloud组件之Ribbon 中,实现了一个Ribbon的Helloword,使用的是Spring Eureka 和Spring Ribbon结合使用,并且使用Ribbon的默认轮询注册清单的负载均衡策略。

Ribbon 是一个基于 HTTP和TCP的客户端负载均衡工具。通过 Spring Cloud 的封装,可以让我们轻松地将面向服务的 REST 模版请求自动转换成客户端负载均衡的服务调用。

Spring事件监听机制源码解析

Spring事件监听体系包括三个组件:事件、事件监听器,事件广播器。事件:定义事件类型和事件源,需要继承ApplicationEvent。

在这里是还没有启动所有的监听程序。RabbitListenerEndpointRegistry对象Bean实现了SmartLifecycle接口,所以容器上下文执行完(刷新完)以后会调用实现了该接口的会滴方法start,启动消息监听。

Runtime.getRuntime().addShutdownHook() 可以添加自定义的shutdown hook。

SpringBoot 异步事件实现异步(ApplicationEventPublisher、ApplicationEvent) 当把一个事件发布到Spring提供的ApplicationContext中,被监听器侦测到,就会执行对应的处理方法。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Spring/27810.html