alibaba/Sentinel

Dashboard Spring Boot Configuration more flexible support

Open

#2,053 建立於 2021年2月27日

在 GitHub 查看
 (3 留言) (0 反應) (0 負責人)Java (23,109 star) (8,150 fork)batch import
area/dashboardgood first issuekind/enhancement

描述

Issue Description

Type: feature request

Describe what happened (or what feature you want)

Make dashboard more extensible.

Describe what you expected to happen

Spring Boot Configuration more flexible

Use @ConditionalOnMissingBean not @Component directly, combine with @Configuration to create a bean.

For example, about MachineDiscovery.

We can write code like follow

@Configuration
public class MachineDiscoveryConfiguration {

  @Bean
  @ConditionalOnMissingBean
  public SimpleMachineDiscovery simpleMachineDiscovery() {
    return new SimpleMachineDiscovery();
  }

  @Bean
  @ConditionalOnMissingBean
  public AppManagement appManagement(SimpleMachineDiscovery simpleMachineDiscovery) {
    return new AppManagement(simpleMachineDiscovery);
  }

}

And delete annotation @Component above class SimpleMachineDiscovery and AppManagement.

If someone want to custom their AppManagement, that will make it more easy.

Same principle can apply to RuleRepository, DynamicRuleProvider, DynamicRulePublisher too.

貢獻者指南

Dashboard Spring Boot Configuration more flexible support · alibaba/Sentinel#2053 | Good First Issue