alibaba/Sentinel

Dashboard Spring Boot Configuration more flexible support

Open

#2,053 创建于 2021年2月27日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)Java (8,150 fork)batch import
area/dashboardgood first issuekind/enhancement

仓库指标

Star
 (23,109 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

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.

贡献者指南