
自定义springboot组件
文章平均质量分 76
自定义springboot组件
Instanceztt
这个作者很懒,什么都没留下…
展开
-
扩展自定义mq组件,使用rabbitmq_delayed_message_exchange延迟组件,完善消息延迟消息精度问题
最近在项目中发现消息的延迟消费是通过redis的过期消息监听,存在很大的安全问题,由于服务的宕机或其他问题会导致消息的丢失,本想系采用延迟队列和死信队列完成消息的延迟消费,但这种方案存在一定的局限性,rabbitmq官方给我提供了用于解决消息阻塞问题,本文重点介绍基于自定义springboot组件扩展mq实现延迟消息的消费问题.自定义mq组件扩展可以参考笔者的这篇文章。原创 2022-11-22 10:05:18 · 1820 阅读 · 0 评论 -
自定义springboot组件--统一封装http客户端实现
http是第三方接口调用的常用工具,该组件通过对常见的http客户端工具进行统一的整合,参考了feign的上下文和springmvc的拦截器等相关设计思路,设计了相应的Context用于对请求上下文的相关配置进行统一的配置,避免客户端配置混乱配置,保证了项目的统一配置,并内置了相应拦截器,用于客户端自定义相关的业务逻辑,比如通过模仿feign的拦截器,解决了feig三方接口调用时无token的尴尬..........原创 2022-07-25 15:49:16 · 1294 阅读 · 2 评论 -
自定义springboot组件--实现平台的websocket统一整合
基于websocketHandler实现平台websocket的统一封装服务端消息推送。原创 2022-07-15 16:14:22 · 424 阅读 · 1 评论 -
自定义springboot组件--基于nacos和spring-cloud-loadbalancer实现灰度发布
灰度发布也叫金丝雀发布,起源是,矿井工人发现,金丝雀对瓦斯气体很敏感,矿工会在下井之前,先放一只金丝雀到井中,如果金丝雀不叫了,就代表瓦斯浓度高.在灰度发布开始后,先启动一个新版本应用,但是并不直接将流量切过来,而是测试人员对新版本进行线上测试,启动的这个新版本应用,就是我们的金丝雀。如果没有问题,那么可以将少量的用户流量导入到新版本上,然后再对新版本做运行状态观察,收集各种运行时数据,如果此时对新旧版本做各种数据对比,就是所谓的A/B测试。当确认新版本运行良好后,再逐步将更多的流量导入到新版本上,在此原创 2022-06-24 10:42:58 · 2976 阅读 · 5 评论 -
自定义springboot组件--基于模板模式对原生springboot的rabbitmq组件进行扩展
在我们的日常开发中,消息中间件已经成为了java研发工程师的一项必备技能,本文主要是基于对springboot原生组件的扩展开发,基于模板设计模式和静态代理模式,简化了队列路由的绑定,交由公共模板进行统一的绑定,并在公用模板中保证了消息的幂等性和消息的可靠性投递,将这些类似的代码抽离出来,让开发者只专注于业务逻辑的开发.整体实现思路:将静态代理器和初始器交由spring容器管理将初始化容器交给spring容器管理2.4 申明公用基础属性2.5定义sprin原创 2022-06-22 16:18:42 · 762 阅读 · 0 评论 -
自定义springboot组件--基于redisson实现分布式锁
基于Redisson实现分布式锁,自定义springboot组件抽离核心代码实现跌低耦合分布式锁原创 2022-06-16 14:55:05 · 437 阅读 · 0 评论 -
springboot自定义组件--自定义防重放防篡改组件实现对外提供第三方api安全策略
在日常开发中我们会向第三提供api接口,所以必须暴露到外网,并提供了具体请求地址和请求参数,为了防止被第别有用心之人获取到真实请求参数后再次发起请求获取信息,需要采取很多安全机制;.........原创 2022-06-13 18:01:57 · 1248 阅读 · 4 评论 -
自定义springboot日志组件--基于Aop实现系统操作日志保存
基于aop实现系统日志留存原创 2022-06-10 16:46:47 · 599 阅读 · 0 评论 -
自定义springboot组件--excel导入(自定义参数解析器)
日常开发中,我们经常用到excel的导入,由于excel导入的的步骤相似度较大,本文基于自定义参数解析器实现对excel导入基本操作的抽离,在项目中快速实现excel的基本导入功能.自定义参数解析器需要实现 HandlerMethodArgumentResolver 接口,我们先来看看该接口:这个接口中就两个方法:下文中的excle导入组件基于easyexcel实现抽象一个list监听器,在里面定义一个获得数据和获取数据校验失败的结果集执行结果:...原创 2022-06-02 14:22:48 · 1101 阅读 · 0 评论 -
扩展springboot内置异常拦截器--自定义全局异常处理组件
一 背景日常开发中,我们通常基于@ControllerAdivce和springboot的ErrorController对代码中抛出的异常进行统一的拦截,返回统一的格式,但是随着业务的持续迭代升级,对不同场景下的异常业务有不同的处理,比如有点异常需要国际化,有的异常需要消息通知,如果都同一拦截处理不同的异常会导致改拦截体中的方法越来越多.本文针对上述场景基于策略模式,构造者模式等实现对异常处理统一封装,并作为springboot的自定义starter二 整体实现思路将异常的处理统一抽象成Exce原创 2022-05-30 15:13:43 · 707 阅读 · 0 评论