在通用jar包中引入其他spring boot starter,并在通用jar包中直接配置这些starter的yml相关属性

场景

我在通用jar包中引入 spring-boot-starter-actuator 这样希望引用通用jar的所有服务都可以直接使用 actuator 中的功能,

问题在于,正常情况下,actuator的配置都写在每个项目的yml文件中,这就意味着,虽然每个项目都有了该jar,但是配置还是得单独写,

于是考虑能不能在common jar中直接写这个配置,其他服务都避免做出改动,思路方向就是想着在spring服务启动前,

能不能通过一种方式将我们的配置注入到spring的配置中,类似在application.yml中拦截添加一下,

通过 EnvironmentPostProcessor 可以帮我们实现这个功能。

实现

第一步,定义好yml文件。

在这里插入图片描述

management:endpoints:web:exposure:include:- info- health- loggers #默认只暴露 /health 以及 /info 端点

第二步,自定义 PostProcessort 实现 EnvironmentPostProcessor,在这里,我们读取自定义的配置文件,并添加到 environment 中。

public class ActuatorPropertiesPostProcessor implements EnvironmentPostProcessor {@SneakyThrows@Overridepublic void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {PropertySource propertySource = new YamlPropertySourceLoader().load("actuator.yml", new FileUrlResource(ActuatorPropertiesPostProcessor.class.getResource("/Actuator.yml"))).get(0);environment.getPropertySources().addLast(propertySource);}}

第三步,定义好 spring.factories,内容指向你刚写好的类。

在这里插入图片描述

org.springframework.boot.env.EnvironmentPostProcessor=you.package.name.ActuatorPropertiesPostProcessor

大功告成,这样你的所有引用common jar的服务就都可以使用actuator功能了。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java学习part05

43-流程控制-使用Scanner类从键盘获取数据_哔哩哔哩_bilibili 1.接收输入 步骤 例子 2.生成随机数 3.switch-case 4.for 5.while

本地jar导入maven

一、通过dependency引入 1.1. jar包放置&#xff0c;建造lib目录 1.2. pom.xml文件 <dependency><groupId>zip4j</groupId><artifactId>zip4j</artifactId><version>1.3.2</version><!--system&#xff0c;类似provided&#x…

网络规模与性能优化的一篇随笔

本周写篇轻松的话题&#xff0c;注意信息传输的尺度和缩放比例&#xff0c;写篇随笔。 控制面和数据面随规模缩放的影响&#xff0c;举几个例子就能说明白。 CSMA/CD&#xff0c;控制面和数据面在一起&#xff0c;控制信息交互时延和数据面时延在同一尺度时&#xff0c;就到了…

本周Github有趣项目:draw-a-ui等

有趣的项目、工具和库 gpt-crawler 抓取网站以生成知识文件&#xff0c;从而从 URL 创建您自己的自定义 GPT。 需要步骤&#xff1a; 配置运行爬虫、 将您的数据上传到 OpenAI&#xff1a;使用此选项通过 UI 访问您生成的知识&#xff0c;您可以轻松与他人共享 创建自定义助…

JavaScript 浮点数运算的精度问题及解决

JavaScript 浮点数运算的精度问题及解决 在 JavaScript 中整数和浮点数都属于 Number 数据类型&#xff0c;当浮点数做数学运算的时候&#xff0c;你经常会发现一些问题&#xff0c;举几个例子&#xff1a; 0.1 0.2 0.30000000000000004 console.log(0.1 0.2) 0.3000000…

腾讯云服务器4核8G配置有哪些?多少钱一年?

腾讯云服务器4核8G配置优惠价格表&#xff0c;轻量应用服务器和CVM云服务器均有活动&#xff0c;云服务器CVM标准型S5实例4核8G配置价格15个月1437.3元&#xff0c;5年6490.44元&#xff0c;轻量应用服务器4核8G12M带宽一年446元、529元15个月&#xff0c;腾讯云百科txybk.com分…

mac苹果笔记本应用程序在哪?有什么快捷方式吗?

苹果笔记本电脑一直以来都被广泛使用&#xff0c;而苹果的操作系统 macOS 也非常受欢迎。一台好的笔记本电脑不仅仅依赖于硬件配置&#xff0c;还需要丰富多样的应用程序来满足用户的需求。苹果笔记本应用程序在哪&#xff0c;不少mac新手用户会有这个疑问。在这篇文章中&#…

033、微调

之——高级炼丹术 目录 之——高级炼丹术 杂谈 正文 1.标注数据集是很贵的 2.微调的思想 3.尝试 小结 杂谈 微调&#xff08;Fine-tuning&#xff09;是深度学习中的一种常见策略&#xff0c;它通常用于预训练模型在特定任务上的性能提升。微调的过程涉及在一个已经在大…

二维码智慧门牌管理系统升级,异常门牌聚合解决方案助力高效管理

文章目录 前言一、异常门牌聚合解决方案 前言 在今天的数字化时代&#xff0c;智慧城市已成为发展趋势&#xff0c;其中二维码智慧门牌管理系统扮演着至关重要的角色。通过对门牌信息进行数字化管理&#xff0c;该系统极大提升了城市管理的效率和便捷性。然而&#xff0c;随着…

11月最新版付费进群源码自动定位+开源

感觉这个和前几天发布的付费进群差不多。 但有部分地方不一样&#xff0c;也是有什么分销分站后台&#xff0c;看见就头大。 没测试具体功能&#xff0c;可以搭建出来&#xff0c;D盾也未检测到加密文件 更多源码请到www.baicxx.com

html-网站菜单-点击显示导航栏

一、效果图 1.点击显示菜单栏&#xff0c;点击x号关闭&#xff1b; 2.点击一级菜单&#xff0c;展开显示二级&#xff0c;并且加号变为减号&#xff1b; 3.点击其他一级导航&#xff0c;自动收起展开的导航。 二、代码实现 <!DOCTYPE html> <html><head>&…

商业化三年,OceanBase在忙什么?

文&#xff5c;刘雨琦 2020年&#xff0c;国产数据库厂商OceanBase&#xff08;以下简称OB&#xff09;商业化的第一年&#xff0c;只有18个客户。 如何打开局面&#xff0c;让这个从蚂蚁场景中走出来的数据库活下去&#xff0c;并进入到更多的场景里&#xff0c;发挥更大的价…