SpringBoot可插拔开箱即用之组件开发

SpringBoot可插拔开箱即用之组件开发

问题

由于适应公司不断发展带来的,售后问题,要求我们要对所有服务进行,主动检查.避免服务异常,造成损失。在这里将该项目的思路及springboot的自动化配置使用分享给大家,希望共同进步。学习。有共同爱好的童鞋,可以点击关注小编,如果看完本文想学习下源码,可以私信我,发送autoconfig关键字获取,地址。


目前的方式是这样:

  • 网关部门定时扫描各个服务,进行监控状态检查,并通知给指定负责人.

实现逻辑:

  • 1. 要求每个线上服务暴露一个/status 地址,并返回指定json,将项目中依赖的数据库连接信息返回

实现要求:

  • 1. 组件式开发

  • 2. 引入即可用,自动监控项目中数据库连接

  • 3. 暴露一个指定的可供网关扫描的地址

技术实现方式:

  • 1. 引入spring-boot-autoconfigure自动配置

  • 2. 引入spring-boot-actuator 使用EndPoint 定制暴露给网关的扫描地址

1. 在autoconfigure中实现定制url的方式是这样的,而不是使用@RequestMapping注解,id就是我们的url,其他属性见注释,非常清楚

SpringBoot可插拔开箱即用之组件开发

2. 加入配置信息,交给合项目负责人维护

SpringBoot可插拔开箱即用之组件开发

3 .导入我们定制的节点

SpringBoot可插拔开箱即用之组件开发

4. 数据库的健康我们按照Spring的套路来

首先定义个接口,然后是抽象模板类,然后是各个数据源的实现类

SpringBoot可插拔开箱即用之组件开发

Mongo检查

SpringBoot可插拔开箱即用之组件开发

消息队列检查

SpringBoot可插拔开箱即用之组件开发

5. 将以上数据检查组件都加入到配置中

注意,要判断,如果服务中没有引入过 Mongodb等数据源,就不要注入,否则强制注入会保存,这里要注意下,这几个注解的意思。这里就不介绍了。

SpringBoot可插拔开箱即用之组件开发

6 . 将这些配置交给autoconfigure 管理,通过服务中的springboot main 启动中@EnableAutoConfiguration 引入,我们组建中的配置。

SpringBoot可插拔开箱即用之组件开发

7 .重点来了,看我们的工具类怎么写的,逻辑就是

从上下文中获取到我们项目中依赖的数据源,首先要判断是否存在,并实现IStatus继承抽象接口中status()方式返回boolean来判断是否数据源连接状态,并返回json给网关,执行EndPoint中的invoke方法返回

SpringBoot可插拔开箱即用之组件开发

SpringBoot可插拔开箱即用之组件开发

8 .使用方法

  • application.yml 中添加

SpringBoot可插拔开箱即用之组件开发

  • 应用启动验证

SpringBoot可插拔开箱即用之组件开发

  • 接口验证

SpringBoot可插拔开箱即用之组件开发

看到这里,基本就介绍完了,是不是很简单,其实没什么难点,spring是契约式开发,没有会不会一说,只有会不会用,看的多了就会了。最后感谢你的阅读!感兴趣的同学可以关注小编,会不断分享实战知识给大家。如果你发现有错误,请提出宝贵意见,会及时改正!谢谢

SpringBoot可插拔开箱即用之组件开发

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西魏陶渊明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值