Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,12 @@
<artifactId>log4j-slf4j2-impl</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>2.1.1</version>
<scope>compile</scope>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,10 @@ public class DefaultMainComponents implements MainComponents {
private final TimerManager timerManager = new TimerManager();
private final HttpClientFactory httpClientFactory = new HttpClientFactory(timerManager);
private final KubernetesClientFactory kubernetesClientFactory = new KubernetesClientFactory(httpClientFactory);
protected ResolverMap resolverMap;
private final ResolverMap resolverMap;

private final FlowController flowController;
private final RuleManager ruleManager;

protected final Statistics statistics = new Statistics();

Expand All @@ -57,6 +60,9 @@ public DefaultMainComponents(DefaultRouter router) {
this.router = router;
resolverMap = new ResolverMap(httpClientFactory, kubernetesClientFactory);
resolverMap.addRuleResolver(router);
flowController = new FlowController(router);
ruleManager= new RuleManager();
ruleManager.setRouter(router);
}

public void init() {
Expand All @@ -67,19 +73,7 @@ public void init() {
}

registry.registerIfAbsent(HttpClientConfiguration.class, HttpClientConfiguration::new);

registry.registerIfAbsent(ResolverMap.class, () -> {
ResolverMap rs = new ResolverMap(httpClientFactory, kubernetesClientFactory);
rs.addRuleResolver(router);
return rs;
});

registry.registerIfAbsent(ExchangeStore.class, LimitedMemoryExchangeStore::new);
registry.registerIfAbsent(RuleManager.class, () -> {
RuleManager rm = new RuleManager();
rm.setRouter(router);
return rm;
});
registry.registerIfAbsent(DNSCache.class, DNSCache::new);

// Transport last
Expand All @@ -98,11 +92,7 @@ public void setRules(Collection<Proxy> proxies) {

@Override
public RuleManager getRuleManager() {
return getRegistry().registerIfAbsent(RuleManager.class, () -> {
RuleManager rm = new RuleManager();
rm.setRouter(router);
return rm;
});
return ruleManager;
}

public void setApplicationContext(ApplicationContext ctx) throws BeansException {
Expand Down Expand Up @@ -177,7 +167,7 @@ public HttpClientFactory getHttpClientFactory() {
}

public FlowController getFlowController() {
return getRegistry().registerIfAbsent(FlowController.class, () -> new FlowController(router));
return flowController;
}

public void setRegistry(BeanRegistry registry) {
Expand Down
5 changes: 5 additions & 0 deletions docs/ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,14 @@
- Documentation
- See JmxExporter
- Synchronization of BeanRegistry
- BalancerHealthMonitor:
- @PostConstruct instead of InitializingBean, DisposableBean
- Scripting: expose beanRegistry

- IfInterceptor:
- Add "else"


# 7.1.0

- reverseDNS
Expand Down
Loading