java,actuator
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
java actuator是什么,让我们一起了解一下?
actuator是springboot中的一个附加功能,SpringBoot包含了许多其他特性,可以选择使用HTTP端点或使用JMX来管理和监视应用程序。审计、健康和度量收集也可以自动应用于应用程序。
考虑是否使用actuator框架的核心因素是什么?
在应用运行过程中,Apollo服务器端的配置信息和实例本地缓存的配置信息并不是时时刻刻都相同的。
因此,我需要能够通过某种技术手段,可以在需要时准确获知应用本地的配置数据副本,而不是仅能通过Apollo的protal查看服务器端数据。
这就需要actuator的原因!
让我们来看看actuator具体是什么。
Spring Boot提供了名称为spring-boot-starter-actuator的starters。
在官方文档中是这样介绍的:
Starter for using Spring Boot’s Actuator which provides production ready features to help you monitor and manage your application
其实也不难理解,让我们实战操作一下。
首先,定义一个SchemaEndpoint类。当然,得用@Endpoint注解来标注这个类,还要再提供一个使用@ReadOperation标注的方法:
@Endpoint(id = "schema")public class SchemaEndpoint { protected ApolloConverterFactory factory; public SchemaEndpoint(ApolloConverterFactory factory) { this.factory = factory; } @ReadOperation public SchemaDescriptor schema() { return new SchemaDescriptor(factory.getSchemaList(), factory.getGroups()); } public static final class SchemaDescriptor { protected Properties schemaList; protected Map<String, Properties> groups; public SchemaDescriptor(@Nullable Properties schemaList, Map<String, Properties> groups) { this.schemaList = schemaList; this.groups = groups; } @Nullable public Properties getSchemaList() { return this.schemaList; } @Nullable public Map<String, Properties> getGroups() { return this.groups; } }}
这里面的ApolloConverterFactory是基于Apollo本地缓存的配置信息创建数据转换器的工厂类。它的getSchemaList方法,返回的是sec.insight.schema.list这个namespace的本地缓存数据,getGroups返回的是每一组schema的配置集合清单。
然后,再来编写一个配置类:
@Configuration@ConditionalOnExpression("${apollo.boostrap.enabled:true} && ${spring.apollo.schema.enabled:true}")public class ApolloSchemaConfiguration { @Bean public ApolloConverterFactory apolloConverterFactory() { return new ApolloConverterFactory(); } @Bean @ConditionalOnMissingBean @ConditionalOnEnabledEndpoint(endpoint = SchemaEndpoint.class) public SchemaEndpoint schemaEndpoint(ApolloConverterFactory factory) { return new SchemaEndpoint(factory); }}
最后直接测试就可以了。
-
苹果手机长图怎么截图,苹果手机截长图的两种方法
1、长截图办法一iOS13上新之后自带的长截图方法,是在我们浏览网页的时候使用的。操作方法:上音量键+开关键一起按下,然后点开截好的图片,选择“整页”截图即可。2、长截图方法二利用QQ实现长截图。操作方法:首先就是需要我们打开QQ,然后试着上音量键+开关键一起按下...
-
省内移动数据流量是指什么
省内移动数据流量是指你的SIM卡所属省份的可用GPRS流量,如果出了你的卡所属的省份,去别的省,那省内移动数据流量就不可以使用,只能使用全国通用流量。移动数据流量有省内流量和全国通用流量,国内流量和省内流量是有所区别的。首先优先度不同:正常情况下,如果用户在自...
-
关于底噪的意思介绍
1、底噪亦称背景噪声,基本所有的好耳机都有底噪,耳机底噪一般都是因为前端的问题,耳机的灵敏度越高对于底噪就越敏感,一些高灵敏度和低阻抗的耳机会把底噪放大,如果加大音量的情况下,底噪会更加的明显。2、检测MP3底噪,一般方法是在夜晚等比较安静的环境中戴上耳机,播...
-
黑色背景拍照窍门详解
1、调整拍摄角度,寻找背景:既然是拍摄黑背景,在拍摄前我们尽量选择深色的背景,这样也就更加容易达到效果。不过深色不一定要是纯黑色,只要颜色较为深沉,偏向暗色调的均可。拍摄前多多观察,寻找不同的拍摄角度,以找到有反差的深色作为背景。要多尝试不同的角度,直至主体...