<address id="zhpbl"></address>
<noframes id="zhpbl">
<address id="zhpbl"><form id="zhpbl"><th id="zhpbl"></th></form></address>

    <em id="zhpbl"></em>

      <address id="zhpbl"><th id="zhpbl"><progress id="zhpbl"></progress></th></address>
      更多精彩內容,歡迎關注:

      視頻號
      視頻號

      抖音
      抖音

      快手
      快手

      微博
      微博

      java actuator

      文檔

      java actuator

      actuator是springboot中的一個附加功能,應用運行過程中,Apollo服務器端的配置信息和實例本地緩存的配置信息并不是時時刻刻都相同的,需要actuator來準確獲知應用本地的配置數據副本。
      推薦度:
      導讀actuator是springboot中的一個附加功能,應用運行過程中,Apollo服務器端的配置信息和實例本地緩存的配置信息并不是時時刻刻都相同的,需要actuator來準確獲知應用本地的配置數據副本。

      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?groups;
      ?
      ????????public?SchemaDescriptor(@Nullable?Properties?schemaList,?Map?groups)?{
      ????????????this.schemaList?=?schemaList;
      ????????????this.groups?=?groups;
      ????????}
      ?
      ????????@Nullable?public?Properties?getSchemaList()?{
      ????????????return?this.schemaList;
      ????????}
      ?
      ????????@Nullable?public?Map?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);
      ????}
      }

      最后直接測試就可以了。

      以上就是小編今天的分享了,希望可以幫助到大家。

      文檔

      java actuator

      actuator是springboot中的一個附加功能,應用運行過程中,Apollo服務器端的配置信息和實例本地緩存的配置信息并不是時時刻刻都相同的,需要actuator來準確獲知應用本地的配置數據副本。
      推薦度:
      為你推薦
      資訊專欄
      熱門視頻
      相關推薦
      java add java addall java advice java aes加密 java aggregation java akka ipad2是哪年的 java algorithm iphone呼叫失敗是什么原因 java android java annotation java ant java apns 蘋果13藍牙搜索不到設備怎么辦 java append java application java apriori java archive java arcsin java arccos 西北五省是哪五省 java activity java activiti 甕安縣屬于哪個市 java active 茉莉花茶是綠茶嗎 java a++和++a的區別 熊貓只有中國才有的嗎 idea新建一個java項目 java 32bit java -xms idea新建java項目 祁連山在哪個省境內 行程碼帶*號什么意思 南極洲有哪些國家 java -ea 鐵觀音產地是哪個地方 iterator java interface java integer java
      Top 少妇高潮太爽了在线视频