You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2022/10/22 11:08:09 UTC
[skywalking] branch master updated: Add new config initialization mechanism of module provider to replace existing (#9828)
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git
The following commit(s) were added to refs/heads/master by this push:
new 9d3982db74 Add new config initialization mechanism of module provider to replace existing (#9828)
9d3982db74 is described below
commit 9d3982db74dbe7ba9c028aef674ace13fb74cc18
Author: 吴晟 Wu Sheng <wu...@foxmail.com>
AuthorDate: Sat Oct 22 19:07:53 2022 +0800
Add new config initialization mechanism of module provider to replace existing (#9828)
---
docs/en/changes/changes.md | 1 +
.../analyzer/provider/AnalyzerModuleProvider.java | 24 ++++----
.../trace/TraceSamplingPolicyWatcherTest.java | 8 +--
.../trace/UninstrumentedGatewaysConfigTest.java | 3 +-
.../analyzer/event/EventAnalyzerModuleConfig.java | 24 --------
.../event/EventAnalyzerModuleProvider.java | 5 +-
.../provider/LogAnalyzerModuleProvider.java | 20 +++++--
.../server/exporter/provider/ExporterProvider.java | 21 ++++---
.../provider/grpc/GRPCExporterProviderTest.java | 2 +-
.../core/alarm/provider/AlarmModuleProvider.java | 5 +-
.../server/core/alarm/provider/AlarmSettings.java | 24 --------
.../alarm/provider/AlarmModuleProviderTest.java | 2 +-
.../plugin/consul/ClusterModuleConsulProvider.java | 22 ++++---
.../consul/ClusterModuleConsulProviderTest.java | 24 ++++----
...TClusterModuleConsulProviderFunctionalTest.java | 8 +--
.../plugin/etcd/ClusterModuleEtcdProvider.java | 21 ++++---
.../ITClusterModuleEtcdProviderFunctionalTest.java | 10 ++--
.../ClusterModuleKubernetesProvider.java | 22 ++++---
.../ClusterModuleKubernetesProviderTest.java | 9 +--
.../plugin/nacos/ClusterModuleNacosProvider.java | 21 ++++---
...ITClusterModuleNacosProviderFunctionalTest.java | 14 ++---
.../ClusterModuleStandaloneProvider.java | 3 +-
.../zookeeper/ClusterModuleZookeeperConfig.java | 2 +-
.../zookeeper/ClusterModuleZookeeperProvider.java | 20 +++++--
.../ClusterModuleZookeeperProviderTest.java | 53 -----------------
...usterModuleZookeeperProviderFunctionalTest.java | 10 ++--
.../api/NoneConfigurationProvider.java | 3 +-
.../api/ConfigWatcherRegisterTest.java | 3 +-
.../apollo/ApolloConfigurationProvider.java | 21 ++++---
.../apollo/ApolloConfigurationTestProvider.java | 6 +-
.../consul/ConsulConfigurationProvider.java | 21 ++++---
.../consul/ConsulConfigurationProviderTest.java | 1 +
.../consul/ConsulConfigurationTestProvider.java | 6 +-
.../etcd/EtcdConfigurationProvider.java | 23 +++++---
.../etcd/EtcdConfigurationTestProvider.java | 6 +-
.../configmap/ConfigmapConfigurationProvider.java | 21 ++++---
.../ConfigmapConfigurationProviderTest.java | 47 ---------------
.../nacos/NacosConfigurationProvider.java | 21 ++++---
.../nacos/NacosConfigurationTestProvider.java | 6 +-
.../zookeeper/ZookeeperConfigurationProvider.java | 19 +++---
.../it/MockZookeeperConfigurationProvider.java | 6 +-
.../grpc/GRPCConfigurationProvider.java | 19 +++---
.../oap/server/core/CoreModuleProvider.java | 20 +++++--
.../group/EndpointNameGroupingRuleWatcherTest.java | 3 +-
...ndpointNameGroupingRule4OpenapiWatcherTest.java | 3 +-
.../agent/kafka/provider/KafkaFetcherProvider.java | 21 ++++---
.../kafka/provider/KafkaFetcherProviderTest.java | 52 ----------------
.../checker/provider/HealthCheckerProvider.java | 18 ++++--
.../oap/server/library/module/ModuleDefine.java | 36 +++++++----
.../oap/server/library/module/ModuleProvider.java | 23 +++++++-
.../server/library/module/ModuleA2Provider.java | 8 +--
.../oap/server/library/module/ModuleAProvider.java | 19 +++++-
.../server/library/module/ModuleB2Provider.java | 8 +--
.../server/library/module/ModuleB3Provider.java | 8 +--
.../oap/server/library/module/ModuleBProvider.java | 8 +--
.../server/library/module/ModuleManagerTest.java | 5 +-
.../server/library/module/TestModuleProvider.java | 2 +-
.../oap/query/graphql/GraphQLQueryProvider.java | 19 ++++--
.../oap/query/graphql/resolver/LogTestQuery.java | 3 +-
.../query/graphql/resolver/LogTestQueryTest.java | 7 ++-
.../oap/query/zipkin/ZipkinQueryProvider.java | 23 +++++---
.../discovery/ConfigurationDiscoveryProvider.java | 19 +++---
.../envoy/EnvoyMetricReceiverProvider.java | 21 ++++---
.../receiver/otel/OtelMetricReceiverProvider.java | 19 ++++--
.../browser/provider/BrowserModuleProvider.java | 19 ++++--
.../receiver/clr/provider/CLRModuleProvider.java | 5 +-
.../ebpf/provider/EBPFReceiverProvider.java | 3 +-
.../server/receiver/event/EventModuleConfig.java | 24 --------
.../server/receiver/event/EventModuleProvider.java | 5 +-
.../receiver/jvm/provider/JVMModuleProvider.java | 3 +-
.../recevier/log/provider/LogModuleProvider.java | 3 +-
.../register/provider/RegisterModuleProvider.java | 3 +-
.../aop/server/receiver/mesh/MeshModuleConfig.java | 24 --------
.../server/receiver/mesh/MeshReceiverProvider.java | 13 +---
.../meter/provider/MeterReceiverProvider.java | 3 +-
.../profile/provider/ProfileModuleProvider.java | 3 +-
.../server/SharingServerModuleProvider.java | 24 ++++----
.../trace/provider/TraceModuleProvider.java | 3 +-
.../zabbix/provider/ZabbixReceiverProvider.java | 22 ++++---
.../receiver/zipkin/ZipkinReceiverProvider.java | 21 ++++---
.../plugin/banyandb/BanyanDBStorageProvider.java | 63 ++++++++++++--------
.../StorageModuleElasticsearchProvider.java | 38 ++++++------
.../storage/plugin/jdbc/h2/H2StorageProvider.java | 21 ++++---
.../plugin/jdbc/mysql/MySQLStorageProvider.java | 21 ++++---
.../jdbc/postgresql/PostgreSQLStorageProvider.java | 69 ++++++++++++++--------
.../mysql/MySQLShardingStorageProvider.java | 37 ++++++++----
.../plugin/jdbc/tidb/TiDBStorageProvider.java | 21 ++++---
.../telemetry/none/NoneTelemetryProvider.java | 6 +-
.../prometheus/PrometheusTelemetryProvider.java | 19 +++---
.../module/DataGeneratorModuleProvider.java | 5 +-
.../tool/profile/core/MockCoreModuleProvider.java | 7 +--
91 files changed, 711 insertions(+), 726 deletions(-)
diff --git a/docs/en/changes/changes.md b/docs/en/changes/changes.md
index b7b1515e16..fc8d01e6d0 100644
--- a/docs/en/changes/changes.md
+++ b/docs/en/changes/changes.md
@@ -65,6 +65,7 @@
* Support `sumPerMinLabeled` in `MAL`.
* Bump up jackson databind, snakeyaml, grpc dependencies.
* Support export `Trace` and `Log` through Kafka.
+* Add new config initialization mechanism of module provider. This is a ModuleManager lib kernel level change.
* [**Breaking Change**] Support new records query protocol, rename the column named `service_id` to `entity_id` for support difference entity.
Please re-create `top_n_database_statement` index/table.
diff --git a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/AnalyzerModuleProvider.java b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/AnalyzerModuleProvider.java
index 09d3832cf7..0c19854bb0 100644
--- a/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/AnalyzerModuleProvider.java
+++ b/oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/AnalyzerModuleProvider.java
@@ -18,6 +18,7 @@
package org.apache.skywalking.oap.server.analyzer.provider;
+import java.util.List;
import lombok.Getter;
import org.apache.skywalking.oap.server.analyzer.module.AnalyzerModule;
import org.apache.skywalking.oap.server.analyzer.provider.meter.config.MeterConfig;
@@ -42,18 +43,15 @@ import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationSe
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.oal.rt.CoreOALDefine;
import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
-import java.util.List;
-
public class AnalyzerModuleProvider extends ModuleProvider {
@Getter
- private final AnalyzerModuleConfig moduleConfig;
+ private AnalyzerModuleConfig moduleConfig;
@Getter
private DBLatencyThresholdsAndWatcher dbLatencyThresholdsAndWatcher;
private CacheReadLatencyThresholdsAndWatcher cacheReadLatencyThresholdsAndWatcher;
@@ -69,10 +67,6 @@ public class AnalyzerModuleProvider extends ModuleProvider {
@Getter
private MeterProcessService processService;
- public AnalyzerModuleProvider() {
- this.moduleConfig = new AnalyzerModuleConfig();
- }
-
@Override
public String name() {
return "default";
@@ -84,8 +78,18 @@ public class AnalyzerModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return moduleConfig;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<AnalyzerModuleConfig>() {
+ @Override
+ public Class type() {
+ return AnalyzerModuleConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final AnalyzerModuleConfig initialized) {
+ moduleConfig = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/TraceSamplingPolicyWatcherTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/TraceSamplingPolicyWatcherTest.java
index 43e036b58f..73cfd07627 100644
--- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/TraceSamplingPolicyWatcherTest.java
+++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/TraceSamplingPolicyWatcherTest.java
@@ -18,6 +18,9 @@
package org.apache.skywalking.oap.server.analyzer.provider.trace;
+import java.util.Optional;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicReference;
import org.apache.skywalking.oap.server.analyzer.provider.AnalyzerModuleConfig;
import org.apache.skywalking.oap.server.analyzer.provider.AnalyzerModuleProvider;
import org.apache.skywalking.oap.server.analyzer.provider.trace.sampling.SamplingPolicy;
@@ -33,10 +36,6 @@ import org.junit.runner.RunWith;
import org.mockito.junit.MockitoJUnitRunner;
import org.powermock.reflect.Whitebox;
-import java.util.Optional;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicReference;
-
@RunWith(MockitoJUnitRunner.class)
public class TraceSamplingPolicyWatcherTest {
@@ -227,6 +226,7 @@ public class TraceSamplingPolicyWatcherTest {
ConfigWatcherRegister register = new ServiceMockConfigWatcherRegister(3);
TraceSamplingPolicyWatcher watcher = new TraceSamplingPolicyWatcher(moduleConfig, provider);
+ Whitebox.setInternalState(provider, "moduleConfig", moduleConfig);
provider.getModuleConfig().setTraceSamplingPolicyWatcher(watcher);
register.registerConfigChangeWatcher(watcher);
register.start();
diff --git a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/UninstrumentedGatewaysConfigTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/UninstrumentedGatewaysConfigTest.java
index edd00c8ac8..f092790b26 100644
--- a/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/UninstrumentedGatewaysConfigTest.java
+++ b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/UninstrumentedGatewaysConfigTest.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.oap.server.analyzer.provider.trace;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -50,7 +49,7 @@ public class UninstrumentedGatewaysConfigTest {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/EventAnalyzerModuleConfig.java b/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/EventAnalyzerModuleConfig.java
deleted file mode 100644
index fe22a72d73..0000000000
--- a/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/EventAnalyzerModuleConfig.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.analyzer.event;
-
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-
-public class EventAnalyzerModuleConfig extends ModuleConfig {
-}
diff --git a/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/EventAnalyzerModuleProvider.java b/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/EventAnalyzerModuleProvider.java
index 222f93a0a8..a8912930a4 100644
--- a/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/EventAnalyzerModuleProvider.java
+++ b/oap-server/analyzer/event-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/event/EventAnalyzerModuleProvider.java
@@ -20,7 +20,6 @@ package org.apache.skywalking.oap.server.analyzer.event;
import org.apache.skywalking.oap.server.analyzer.event.listener.EventRecordAnalyzerListener;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -41,8 +40,8 @@ public class EventAnalyzerModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new EventAnalyzerModuleConfig();
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LogAnalyzerModuleProvider.java b/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LogAnalyzerModuleProvider.java
index ecf9d0e6cc..e99391bcce 100644
--- a/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LogAnalyzerModuleProvider.java
+++ b/oap-server/analyzer/log-analyzer/src/main/java/org/apache/skywalking/oap/log/analyzer/provider/LogAnalyzerModuleProvider.java
@@ -17,21 +17,21 @@
package org.apache.skywalking.oap.log.analyzer.provider;
+import lombok.Getter;
import org.apache.skywalking.oap.log.analyzer.module.LogAnalyzerModule;
import org.apache.skywalking.oap.log.analyzer.provider.log.ILogAnalyzerService;
import org.apache.skywalking.oap.log.analyzer.provider.log.LogAnalyzerServiceImpl;
import org.apache.skywalking.oap.log.analyzer.provider.log.listener.LogFilterListener;
import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
public class LogAnalyzerModuleProvider extends ModuleProvider {
-
- private final LogAnalyzerModuleConfig moduleConfig = new LogAnalyzerModuleConfig();
+ @Getter
+ private LogAnalyzerModuleConfig moduleConfig;
private LogAnalyzerServiceImpl logAnalyzerService;
@@ -46,8 +46,18 @@ public class LogAnalyzerModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return moduleConfig;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<LogAnalyzerModuleConfig>() {
+ @Override
+ public Class type() {
+ return LogAnalyzerModuleConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final LogAnalyzerModuleConfig initialized) {
+ moduleConfig = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/ExporterProvider.java b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/ExporterProvider.java
index 87b374ba5b..b9d1f18107 100644
--- a/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/ExporterProvider.java
+++ b/oap-server/exporter/src/main/java/org/apache/skywalking/oap/server/exporter/provider/ExporterProvider.java
@@ -26,22 +26,17 @@ import org.apache.skywalking.oap.server.core.exporter.TraceExportService;
import org.apache.skywalking.oap.server.exporter.provider.grpc.GRPCMetricsExporter;
import org.apache.skywalking.oap.server.exporter.provider.kafka.log.KafkaLogExporter;
import org.apache.skywalking.oap.server.exporter.provider.kafka.trace.KafkaTraceExporter;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
public class ExporterProvider extends ModuleProvider {
- private final ExporterSetting setting;
+ private ExporterSetting setting;
private GRPCMetricsExporter grpcMetricsExporter;
private KafkaTraceExporter kafkaTraceExporter;
private KafkaLogExporter kafkaLogExporter;
- public ExporterProvider() {
- setting = new ExporterSetting();
- }
-
@Override
public String name() {
return "default";
@@ -53,8 +48,18 @@ public class ExporterProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return setting;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ExporterSetting>() {
+ @Override
+ public Class type() {
+ return ExporterSetting.class;
+ }
+
+ @Override
+ public void onInitialized(final ExporterSetting initialized) {
+ setting = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java b/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java
index d2d307f200..80f4d48e55 100644
--- a/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java
+++ b/oap-server/exporter/src/test/java/org/apache/skywalking/oap/server/exporter/provider/grpc/GRPCExporterProviderTest.java
@@ -57,7 +57,7 @@ public class GRPCExporterProviderTest {
grpcExporterProvider = moduleProviderIterator.next();
assertTrue(grpcExporterProvider instanceof ExporterProvider);
- ExporterSetting config = (ExporterSetting) grpcExporterProvider.createConfigBeanIfAbsent();
+ ExporterSetting config = (ExporterSetting) grpcExporterProvider.newConfigCreator();
assertNotNull(config);
assertNull(config.getGRPCTargetHost());
assertEquals(0, config.getGRPCTargetPort());
diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProvider.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProvider.java
index 6a780a20d7..580cf7c2b5 100644
--- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProvider.java
+++ b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProvider.java
@@ -26,7 +26,6 @@ import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.alarm.AlarmModule;
import org.apache.skywalking.oap.server.core.alarm.AlarmStandardPersistence;
import org.apache.skywalking.oap.server.core.alarm.MetricsNotify;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -49,8 +48,8 @@ public class AlarmModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new AlarmSettings();
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmSettings.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmSettings.java
deleted file mode 100644
index 63a5df3112..0000000000
--- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmSettings.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.core.alarm.provider;
-
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-
-public class AlarmSettings extends ModuleConfig {
-}
diff --git a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProviderTest.java b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProviderTest.java
index 95a2d30a85..36ebdca057 100644
--- a/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProviderTest.java
+++ b/oap-server/server-alarm-plugin/src/test/java/org/apache/skywalking/oap/server/core/alarm/provider/AlarmModuleProviderTest.java
@@ -46,7 +46,7 @@ public class AlarmModuleProviderTest {
moduleProvider = (AlarmModuleProvider) providerIterator.next();
- moduleProvider.createConfigBeanIfAbsent();
+ moduleProvider.newConfigCreator();
moduleProvider.prepare();
}
diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java
index dd92d0e068..b596daf197 100644
--- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java
+++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProvider.java
@@ -28,7 +28,6 @@ import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -41,14 +40,9 @@ import org.apache.skywalking.oap.server.library.util.ConnectUtils;
*/
public class ClusterModuleConsulProvider extends ModuleProvider {
- private final ClusterModuleConsulConfig config;
+ private ClusterModuleConsulConfig config;
private Consul client;
- public ClusterModuleConsulProvider() {
- super();
- this.config = new ClusterModuleConsulConfig();
- }
-
@Override
public String name() {
return "consul";
@@ -60,8 +54,18 @@ public class ClusterModuleConsulProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ClusterModuleConsulConfig>() {
+ @Override
+ public Class type() {
+ return ClusterModuleConsulConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ClusterModuleConsulConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java
index d5e3d87e2a..62edc69a1a 100644
--- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java
+++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ClusterModuleConsulProviderTest.java
@@ -25,7 +25,6 @@ import java.util.Collection;
import java.util.List;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
@@ -46,7 +45,6 @@ import org.powermock.reflect.Whitebox;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyCollection;
import static org.mockito.Mockito.anyLong;
@@ -56,7 +54,13 @@ import static org.mockito.Mockito.when;
@RunWith(PowerMockRunner.class)
@PrepareForTest(Consul.class)
-@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
+@PowerMockIgnore({
+ "com.sun.org.apache.xerces.*",
+ "javax.xml.*",
+ "org.xml.*",
+ "javax.management.*",
+ "org.w3c.*"
+})
public class ClusterModuleConsulProviderTest {
private ClusterModuleConsulProvider provider = new ClusterModuleConsulProvider();
@@ -69,11 +73,12 @@ public class ClusterModuleConsulProviderTest {
@Before
public void before() {
Mockito.when(telemetryProvider.getService(MetricsCreator.class))
- .thenReturn(new MetricsCreatorNoop());
+ .thenReturn(new MetricsCreatorNoop());
TelemetryModule telemetryModule = Mockito.spy(TelemetryModule.class);
Whitebox.setInternalState(telemetryModule, "loadedProvider", telemetryProvider);
Mockito.when(moduleManager.find(TelemetryModule.NAME)).thenReturn(telemetryModule);
provider.setManager(moduleManager);
+ Whitebox.setInternalState(provider, "config", new ClusterModuleConsulConfig());
}
@Test
@@ -86,12 +91,6 @@ public class ClusterModuleConsulProviderTest {
assertEquals(ClusterModule.class, provider.module());
}
- @Test
- public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
- assertTrue(moduleConfig instanceof ClusterModuleConsulConfig);
- }
-
@Test(expected = ModuleStartException.class)
public void prepareWithNonHost() throws Exception {
provider.prepare();
@@ -121,7 +120,10 @@ public class ClusterModuleConsulProviderTest {
List<HostAndPort> address = (List<HostAndPort>) addressCaptor.getValue();
assertEquals(2, address.size());
- assertEquals(Lists.newArrayList(HostAndPort.fromParts("10.0.0.1", 1000), HostAndPort.fromParts("10.0.0.2", 1001)), address);
+ assertEquals(
+ Lists.newArrayList(HostAndPort.fromParts("10.0.0.1", 1000), HostAndPort.fromParts("10.0.0.2", 1001)),
+ address
+ );
}
@Test
diff --git a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java
index b7333f4eb6..78d3524de7 100644
--- a/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java
+++ b/oap-server/server-cluster-plugin/cluster-consul-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/consul/ITClusterModuleConsulProviderFunctionalTest.java
@@ -107,11 +107,10 @@ public class ITClusterModuleConsulProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
- ClusterModuleConsulConfig config = (ClusterModuleConsulConfig) provider.createConfigBeanIfAbsent();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
- assertEquals(config.getInternalComHost(), queryAddress.getHost());
- assertEquals(config.getInternalComPort(), queryAddress.getPort());
+ assertEquals("127.0.1.2", queryAddress.getHost());
+ assertEquals(1001, queryAddress.getPort());
assertTrue(queryAddress.isSelf());
}
@@ -198,7 +197,8 @@ public class ITClusterModuleConsulProviderFunctionalTest {
int internalComPort) throws Exception {
ClusterModuleConsulProvider provider = new ClusterModuleConsulProvider();
- ClusterModuleConsulConfig config = (ClusterModuleConsulConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleConsulConfig config = new ClusterModuleConsulConfig();
+ provider.newConfigCreator().onInitialized(config);
config.setHostPort(consulAddress);
config.setServiceName(serviceName);
diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProvider.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProvider.java
index 0ff9b77014..c7510a69db 100644
--- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProvider.java
+++ b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ClusterModuleEtcdProvider.java
@@ -22,7 +22,6 @@ import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -33,11 +32,7 @@ import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedExcepti
*/
public class ClusterModuleEtcdProvider extends ModuleProvider {
- private final ClusterModuleEtcdConfig config;
-
- public ClusterModuleEtcdProvider() {
- this.config = new ClusterModuleEtcdConfig();
- }
+ private ClusterModuleEtcdConfig config;
@Override
public String name() {
@@ -50,8 +45,18 @@ public class ClusterModuleEtcdProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ClusterModuleEtcdConfig>() {
+ @Override
+ public Class type() {
+ return ClusterModuleEtcdConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ClusterModuleEtcdConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ITClusterModuleEtcdProviderFunctionalTest.java b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ITClusterModuleEtcdProviderFunctionalTest.java
index fa47de039e..aecc4a952e 100644
--- a/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ITClusterModuleEtcdProviderFunctionalTest.java
+++ b/oap-server/server-cluster-plugin/cluster-etcd-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/etcd/ITClusterModuleEtcdProviderFunctionalTest.java
@@ -98,12 +98,10 @@ public class ITClusterModuleEtcdProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
- ClusterModuleEtcdConfig config =
- (ClusterModuleEtcdConfig) provider.createConfigBeanIfAbsent();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
- assertEquals(config.getInternalComHost(), queryAddress.getHost());
- assertEquals(config.getInternalComPort(), queryAddress.getPort());
+ assertEquals("127.0.1.2", queryAddress.getHost());
+ assertEquals(1000, queryAddress.getPort());
assertTrue(queryAddress.isSelf());
}
@@ -191,8 +189,8 @@ public class ITClusterModuleEtcdProviderFunctionalTest {
throws ModuleStartException {
ClusterModuleEtcdProvider provider = new ClusterModuleEtcdProvider();
- ClusterModuleEtcdConfig config =
- (ClusterModuleEtcdConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleEtcdConfig config = new ClusterModuleEtcdConfig();
+ provider.newConfigCreator().onInitialized(config);
config.setEndpoints(endpoint);
config.setServiceName(serviceName);
diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java
index dc1428810d..5b33c78270 100644
--- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java
+++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProvider.java
@@ -22,7 +22,6 @@ import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -32,14 +31,9 @@ import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedExcepti
*/
public class ClusterModuleKubernetesProvider extends ModuleProvider {
- private final ClusterModuleKubernetesConfig config;
+ private ClusterModuleKubernetesConfig config;
private KubernetesCoordinator coordinator;
- public ClusterModuleKubernetesProvider() {
- super();
- this.config = new ClusterModuleKubernetesConfig();
- }
-
@Override
public String name() {
return "kubernetes";
@@ -51,8 +45,18 @@ public class ClusterModuleKubernetesProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ClusterModuleKubernetesConfig>() {
+ @Override
+ public Class type() {
+ return ClusterModuleKubernetesConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ClusterModuleKubernetesConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java
index 487fe2d0d2..3498417080 100644
--- a/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java
+++ b/oap-server/server-cluster-plugin/cluster-kubernetes-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/kubernetes/ClusterModuleKubernetesProviderTest.java
@@ -20,7 +20,6 @@ package org.apache.skywalking.oap.server.cluster.plugin.kubernetes;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
import org.apache.skywalking.oap.server.telemetry.api.MetricsCreator;
@@ -37,7 +36,6 @@ import org.powermock.reflect.Whitebox;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
@RunWith(PowerMockRunner.class)
@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
@@ -58,6 +56,7 @@ public class ClusterModuleKubernetesProviderTest {
Whitebox.setInternalState(telemetryModule, "loadedProvider", telemetryProvider);
Mockito.when(moduleManager.find(TelemetryModule.NAME)).thenReturn(telemetryModule);
provider.setManager(moduleManager);
+ Whitebox.setInternalState(provider, "config", new ClusterModuleKubernetesConfig());
}
@Test
@@ -70,12 +69,6 @@ public class ClusterModuleKubernetesProviderTest {
assertEquals(ClusterModule.class, provider.module());
}
- @Test
- public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
- assertTrue(moduleConfig instanceof ClusterModuleKubernetesConfig);
- }
-
@Test
public void prepare() {
provider.prepare();
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProvider.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProvider.java
index e0cfc4c6ca..5b685d7925 100644
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProvider.java
+++ b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ClusterModuleNacosProvider.java
@@ -22,26 +22,23 @@ import com.alibaba.nacos.api.PropertyKeyConst;
import com.alibaba.nacos.api.naming.NamingFactory;
import com.alibaba.nacos.api.naming.NamingService;
import java.util.Properties;
-
-import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
public class ClusterModuleNacosProvider extends ModuleProvider {
- private final ClusterModuleNacosConfig config;
+ private ClusterModuleNacosConfig config;
private NamingService namingService;
public ClusterModuleNacosProvider() {
super();
- this.config = new ClusterModuleNacosConfig();
}
@Override
@@ -55,8 +52,18 @@ public class ClusterModuleNacosProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ClusterModuleNacosConfig>() {
+ @Override
+ public Class type() {
+ return ClusterModuleNacosConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ClusterModuleNacosConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ITClusterModuleNacosProviderFunctionalTest.java b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ITClusterModuleNacosProviderFunctionalTest.java
index 9cfc937a47..396ad5c521 100644
--- a/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ITClusterModuleNacosProviderFunctionalTest.java
+++ b/oap-server/server-cluster-plugin/cluster-nacos-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/nacos/ITClusterModuleNacosProviderFunctionalTest.java
@@ -106,12 +106,10 @@ public class ITClusterModuleNacosProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
- ClusterModuleNacosConfig config =
- (ClusterModuleNacosConfig) provider.createConfigBeanIfAbsent();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
- assertEquals(config.getInternalComHost(), queryAddress.getHost());
- assertEquals(config.getInternalComPort(), queryAddress.getPort());
+ assertEquals("127.0.1.2", queryAddress.getHost());
+ assertEquals(1000, queryAddress.getPort());
assertTrue(queryAddress.isSelf());
}
@@ -194,8 +192,8 @@ public class ITClusterModuleNacosProviderFunctionalTest {
throws ModuleStartException {
ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider();
- ClusterModuleNacosConfig config =
- (ClusterModuleNacosConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleNacosConfig config = new ClusterModuleNacosConfig();
+ provider.newConfigCreator().onInitialized(config);
config.setHostPort(nacosAddress);
config.setServiceName(servicName);
@@ -213,8 +211,8 @@ public class ITClusterModuleNacosProviderFunctionalTest {
int internalComPort) throws Exception {
ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider();
- ClusterModuleNacosConfig config =
- (ClusterModuleNacosConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleNacosConfig config = new ClusterModuleNacosConfig();
+ provider.newConfigCreator().onInitialized(config);
config.setHostPort(nacosAddress);
config.setServiceName(serviceName);
diff --git a/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/ClusterModuleStandaloneProvider.java b/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/ClusterModuleStandaloneProvider.java
index b6dcd26dc3..7c4b91c3a9 100644
--- a/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/ClusterModuleStandaloneProvider.java
+++ b/oap-server/server-cluster-plugin/cluster-standalone-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/standalone/ClusterModuleStandaloneProvider.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.cluster.plugin.standalone;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -42,7 +41,7 @@ public class ClusterModuleStandaloneProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperConfig.java b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperConfig.java
index c0bdef4f95..0a9923b491 100644
--- a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperConfig.java
+++ b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperConfig.java
@@ -23,7 +23,7 @@ import lombok.Getter;
import lombok.Setter;
import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-class ClusterModuleZookeeperConfig extends ModuleConfig {
+public class ClusterModuleZookeeperConfig extends ModuleConfig {
@Setter
@Getter
diff --git a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java
index 542ce7d8d0..4acb88c5b1 100644
--- a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java
+++ b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/main/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProvider.java
@@ -29,16 +29,15 @@ import org.apache.curator.framework.api.ACLProvider;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.curator.x.discovery.ServiceDiscovery;
import org.apache.curator.x.discovery.ServiceDiscoveryBuilder;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
import org.apache.skywalking.oap.server.core.cluster.RemoteInstance;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.zookeeper.ZooDefs;
import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.data.Id;
@@ -55,14 +54,13 @@ public class ClusterModuleZookeeperProvider extends ModuleProvider {
private static final String BASE_PATH = "/skywalking";
- private final ClusterModuleZookeeperConfig config;
+ private ClusterModuleZookeeperConfig config;
private CuratorFramework client;
private ServiceDiscovery<RemoteInstance> serviceDiscovery;
private ZookeeperCoordinator coordinator;
public ClusterModuleZookeeperProvider() {
super();
- this.config = new ClusterModuleZookeeperConfig();
}
@Override
@@ -76,8 +74,18 @@ public class ClusterModuleZookeeperProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ClusterModuleZookeeperConfig>() {
+ @Override
+ public Class type() {
+ return ClusterModuleZookeeperConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ClusterModuleZookeeperConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProviderTest.java b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProviderTest.java
deleted file mode 100644
index 0e96c6abce..0000000000
--- a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ClusterModuleZookeeperProviderTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.cluster.plugin.zookeeper;
-
-import org.apache.skywalking.oap.server.core.cluster.ClusterModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class ClusterModuleZookeeperProviderTest {
-
- private ClusterModuleZookeeperProvider provider = new ClusterModuleZookeeperProvider();
-
- @Test
- public void name() {
- assertEquals("zookeeper", provider.name());
- }
-
- @Test
- public void module() {
- assertEquals(ClusterModule.class, provider.module());
- }
-
- @Test
- public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
- assertTrue(moduleConfig instanceof ClusterModuleZookeeperConfig);
- }
-
- @Test
- public void requiredModules() {
- String[] modules = provider.requiredModules();
- assertEquals(1, modules.length);
- }
-}
diff --git a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ITClusterModuleZookeeperProviderFunctionalTest.java b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ITClusterModuleZookeeperProviderFunctionalTest.java
index 1061ca6ab8..5a7c7e7c6f 100644
--- a/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ITClusterModuleZookeeperProviderFunctionalTest.java
+++ b/oap-server/server-cluster-plugin/cluster-zookeeper-plugin/src/test/java/org/apache/skywalking/oap/server/cluster/plugin/zookeeper/ITClusterModuleZookeeperProviderFunctionalTest.java
@@ -21,13 +21,13 @@ package org.apache.skywalking.oap.server.cluster.plugin.zookeeper;
import java.util.Collections;
import java.util.List;
import org.apache.curator.x.discovery.ServiceDiscovery;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
import org.apache.skywalking.oap.server.core.cluster.RemoteInstance;
import org.apache.skywalking.oap.server.core.remote.client.Address;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
import org.apache.skywalking.oap.server.telemetry.api.MetricsCreator;
import org.apache.skywalking.oap.server.telemetry.none.MetricsCreatorNoop;
@@ -102,11 +102,10 @@ public class ITClusterModuleZookeeperProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
- ClusterModuleZookeeperConfig config = (ClusterModuleZookeeperConfig) provider.createConfigBeanIfAbsent();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
- assertEquals(config.getInternalComHost(), queryAddress.getHost());
- assertEquals(config.getInternalComPort(), queryAddress.getPort());
+ assertEquals("127.0.1.2", queryAddress.getHost());
+ assertEquals(1000, queryAddress.getPort());
assertTrue(queryAddress.isSelf());
}
@@ -193,7 +192,8 @@ public class ITClusterModuleZookeeperProviderFunctionalTest {
int internalComPort) throws Exception {
ClusterModuleZookeeperProvider provider = new ClusterModuleZookeeperProvider();
provider.setManager(moduleManager);
- ClusterModuleZookeeperConfig moduleConfig = (ClusterModuleZookeeperConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleZookeeperConfig moduleConfig = new ClusterModuleZookeeperConfig();
+ provider.newConfigCreator().onInitialized(moduleConfig);
moduleConfig.setHostPort(zkAddress);
moduleConfig.setBaseSleepTimeMs(3000);
moduleConfig.setMaxRetries(3);
diff --git a/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/NoneConfigurationProvider.java b/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/NoneConfigurationProvider.java
index ce22eb821a..16e008ab22 100644
--- a/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/NoneConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-api/src/main/java/org/apache/skywalking/oap/server/configuration/api/NoneConfigurationProvider.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.oap.server.configuration.api;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -39,7 +38,7 @@ public class NoneConfigurationProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-configuration/configuration-api/src/test/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegisterTest.java b/oap-server/server-configuration/configuration-api/src/test/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegisterTest.java
index 4397a32069..6795bc8338 100644
--- a/oap-server/server-configuration/configuration-api/src/test/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegisterTest.java
+++ b/oap-server/server-configuration/configuration-api/src/test/java/org/apache/skywalking/oap/server/configuration/api/ConfigWatcherRegisterTest.java
@@ -22,7 +22,6 @@ import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -183,7 +182,7 @@ public class ConfigWatcherRegisterTest {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-configuration/configuration-apollo/src/main/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationProvider.java b/oap-server/server-configuration/configuration-apollo/src/main/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationProvider.java
index a1fb930d41..60a1bba7f7 100644
--- a/oap-server/server-configuration/configuration-apollo/src/main/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-apollo/src/main/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationProvider.java
@@ -21,18 +21,13 @@ package org.apache.skywalking.oap.server.configuration.apollo;
import com.google.common.base.Strings;
import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
/**
* Get configuration from Apollo configuration center.
*/
public class ApolloConfigurationProvider extends AbstractConfigurationProvider {
- private final ApolloConfigurationCenterSettings settings;
-
- public ApolloConfigurationProvider() {
- settings = new ApolloConfigurationCenterSettings();
- }
+ private ApolloConfigurationCenterSettings settings;
@Override
public String name() {
@@ -40,8 +35,18 @@ public class ApolloConfigurationProvider extends AbstractConfigurationProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return settings;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ApolloConfigurationCenterSettings>() {
+ @Override
+ public Class type() {
+ return ApolloConfigurationCenterSettings.class;
+ }
+
+ @Override
+ public void onInitialized(final ApolloConfigurationCenterSettings initialized) {
+ settings = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-configuration/configuration-apollo/src/test/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationTestProvider.java b/oap-server/server-configuration/configuration-apollo/src/test/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationTestProvider.java
index 78d56fc8d4..6b1a71f47a 100644
--- a/oap-server/server-configuration/configuration-apollo/src/test/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationTestProvider.java
+++ b/oap-server/server-configuration/configuration-apollo/src/test/java/org/apache/skywalking/oap/server/configuration/apollo/ApolloConfigurationTestProvider.java
@@ -25,7 +25,6 @@ import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationService;
import org.apache.skywalking.oap.server.configuration.api.GroupConfigChangeWatcher;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -47,9 +46,8 @@ public class ApolloConfigurationTestProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new ModuleConfig() {
- };
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProvider.java b/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProvider.java
index d75f6af4e2..e5164a6422 100644
--- a/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-consul/src/main/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProvider.java
@@ -22,7 +22,6 @@ import com.google.common.base.Strings;
import lombok.extern.slf4j.Slf4j;
import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
/**
@@ -30,11 +29,7 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
*/
@Slf4j
public class ConsulConfigurationProvider extends AbstractConfigurationProvider {
- private final ConsulConfigurationCenterSettings settings;
-
- public ConsulConfigurationProvider() {
- this.settings = new ConsulConfigurationCenterSettings();
- }
+ private ConsulConfigurationCenterSettings settings;
@Override
public String name() {
@@ -42,8 +37,18 @@ public class ConsulConfigurationProvider extends AbstractConfigurationProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return settings;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ConsulConfigurationCenterSettings>() {
+ @Override
+ public Class type() {
+ return ConsulConfigurationCenterSettings.class;
+ }
+
+ @Override
+ public void onInitialized(final ConsulConfigurationCenterSettings initialized) {
+ settings = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProviderTest.java b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProviderTest.java
index 87ad962d23..79dd2049df 100644
--- a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProviderTest.java
+++ b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationProviderTest.java
@@ -26,6 +26,7 @@ public class ConsulConfigurationProviderTest {
@Test(expected = ModuleStartException.class)
public void shouldThrowWhenSettingsInvalid() throws ModuleStartException {
ConsulConfigurationProvider provider = new ConsulConfigurationProvider();
+ provider.newConfigCreator().onInitialized(new ConsulConfigurationCenterSettings());
provider.initConfigReader();
}
}
\ No newline at end of file
diff --git a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationTestProvider.java b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationTestProvider.java
index 0516e51d25..2356eb5a21 100644
--- a/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationTestProvider.java
+++ b/oap-server/server-configuration/configuration-consul/src/test/java/org/apache/skywalking/oap/server/configuration/consul/ConsulConfigurationTestProvider.java
@@ -25,7 +25,6 @@ import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationService;
import org.apache.skywalking.oap.server.configuration.api.GroupConfigChangeWatcher;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -47,9 +46,8 @@ public class ConsulConfigurationTestProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new ModuleConfig() {
- };
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-configuration/configuration-etcd/src/main/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationProvider.java b/oap-server/server-configuration/configuration-etcd/src/main/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationProvider.java
index 8c141249eb..bada8ba95a 100644
--- a/oap-server/server-configuration/configuration-etcd/src/main/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-etcd/src/main/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationProvider.java
@@ -18,19 +18,14 @@
package org.apache.skywalking.oap.server.configuration.etcd;
import lombok.extern.slf4j.Slf4j;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
@Slf4j
public class EtcdConfigurationProvider extends AbstractConfigurationProvider {
- private final EtcdServerSettings settings;
-
- public EtcdConfigurationProvider() {
- this.settings = new EtcdServerSettings();
- }
+ private EtcdServerSettings settings;
@Override
protected ConfigWatcherRegister initConfigReader() throws ModuleStartException {
@@ -51,7 +46,17 @@ public class EtcdConfigurationProvider extends AbstractConfigurationProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return settings;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<EtcdServerSettings>() {
+ @Override
+ public Class type() {
+ return EtcdServerSettings.class;
+ }
+
+ @Override
+ public void onInitialized(final EtcdServerSettings initialized) {
+ settings = initialized;
+ }
+ };
}
}
diff --git a/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationTestProvider.java b/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationTestProvider.java
index 21d7f6eccb..6ea54cf505 100644
--- a/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationTestProvider.java
+++ b/oap-server/server-configuration/configuration-etcd/src/test/java/org/apache/skywalking/oap/server/configuration/etcd/EtcdConfigurationTestProvider.java
@@ -25,7 +25,6 @@ import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationService;
import org.apache.skywalking.oap.server.configuration.api.GroupConfigChangeWatcher;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -46,9 +45,8 @@ public class EtcdConfigurationTestProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new ModuleConfig() {
- };
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-configuration/configuration-k8s-configmap/src/main/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProvider.java b/oap-server/server-configuration/configuration-k8s-configmap/src/main/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProvider.java
index e8fa8815a4..3647e82702 100644
--- a/oap-server/server-configuration/configuration-k8s-configmap/src/main/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-k8s-configmap/src/main/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProvider.java
@@ -21,16 +21,11 @@ package org.apache.skywalking.oap.server.configuration.configmap;
import com.google.common.base.Strings;
import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
public class ConfigmapConfigurationProvider extends AbstractConfigurationProvider {
- private final ConfigmapConfigurationSettings settings;
-
- public ConfigmapConfigurationProvider() {
- this.settings = new ConfigmapConfigurationSettings();
- }
+ private ConfigmapConfigurationSettings settings;
@Override
public String name() {
@@ -38,8 +33,18 @@ public class ConfigmapConfigurationProvider extends AbstractConfigurationProvide
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return settings;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ConfigmapConfigurationSettings>() {
+ @Override
+ public Class type() {
+ return ConfigmapConfigurationSettings.class;
+ }
+
+ @Override
+ public void onInitialized(final ConfigmapConfigurationSettings initialized) {
+ settings = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java b/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java
deleted file mode 100644
index 4090296837..0000000000
--- a/oap-server/server-configuration/configuration-k8s-configmap/src/test/java/org/apache/skywalking/oap/server/configuration/configmap/ConfigmapConfigurationProviderTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.configuration.configmap;
-
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.powermock.core.classloader.annotations.PowerMockIgnore;
-import org.powermock.modules.junit4.PowerMockRunner;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-@RunWith(PowerMockRunner.class)
-@PowerMockIgnore({"com.sun.org.apache.xerces.*", "javax.xml.*", "org.xml.*", "javax.management.*", "org.w3c.*"})
-public class ConfigmapConfigurationProviderTest {
-
- private final ConfigmapConfigurationProvider provider = new ConfigmapConfigurationProvider();
-
- @Test
- public void name() {
- assertEquals("k8s-configmap", provider.name());
- }
-
- @Test
- public void module() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
- assertTrue(moduleConfig instanceof ConfigmapConfigurationSettings);
- }
-
-}
diff --git a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationProvider.java b/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationProvider.java
index 2452e518bd..5b9f9e3e67 100644
--- a/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-nacos/src/main/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationProvider.java
@@ -21,11 +21,10 @@ package org.apache.skywalking.oap.server.configuration.nacos;
import com.alibaba.nacos.api.exception.NacosException;
import com.google.common.base.Strings;
import lombok.extern.slf4j.Slf4j;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
/**
* Get configuration from Nacos.
@@ -34,18 +33,24 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
public class NacosConfigurationProvider extends AbstractConfigurationProvider {
private NacosServerSettings settings;
- public NacosConfigurationProvider() {
- settings = new NacosServerSettings();
- }
-
@Override
public String name() {
return "nacos";
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return settings;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<NacosServerSettings>() {
+ @Override
+ public Class type() {
+ return NacosServerSettings.class;
+ }
+
+ @Override
+ public void onInitialized(final NacosServerSettings initialized) {
+ settings = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestProvider.java b/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestProvider.java
index fee0826b46..b7d81fb510 100644
--- a/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestProvider.java
+++ b/oap-server/server-configuration/configuration-nacos/src/test/java/org/apache/skywalking/oap/server/configuration/nacos/NacosConfigurationTestProvider.java
@@ -25,7 +25,6 @@ import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationService;
import org.apache.skywalking.oap.server.configuration.api.GroupConfigChangeWatcher;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -47,9 +46,8 @@ public class NacosConfigurationTestProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new ModuleConfig() {
- };
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigurationProvider.java b/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigurationProvider.java
index a3397a7aa6..6ae397a513 100644
--- a/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-zookeeper/src/main/java/org/apache/skywalking/oap/server/configuration/zookeeper/ZookeeperConfigurationProvider.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.configuration.zookeeper;
import com.google.common.base.Strings;
import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
/**
@@ -30,18 +29,24 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
public class ZookeeperConfigurationProvider extends AbstractConfigurationProvider {
private ZookeeperServerSettings settings;
- public ZookeeperConfigurationProvider() {
- settings = new ZookeeperServerSettings();
- }
-
@Override
public String name() {
return "zookeeper";
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return settings;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ZookeeperServerSettings>() {
+ @Override
+ public Class type() {
+ return ZookeeperServerSettings.class;
+ }
+
+ @Override
+ public void onInitialized(final ZookeeperServerSettings initialized) {
+ settings = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-configuration/configuration-zookeeper/src/test/java/org/apache/skywalking/oap/server/configuration/zookeeper/it/MockZookeeperConfigurationProvider.java b/oap-server/server-configuration/configuration-zookeeper/src/test/java/org/apache/skywalking/oap/server/configuration/zookeeper/it/MockZookeeperConfigurationProvider.java
index 2a9e59b2b2..f173605bce 100644
--- a/oap-server/server-configuration/configuration-zookeeper/src/test/java/org/apache/skywalking/oap/server/configuration/zookeeper/it/MockZookeeperConfigurationProvider.java
+++ b/oap-server/server-configuration/configuration-zookeeper/src/test/java/org/apache/skywalking/oap/server/configuration/zookeeper/it/MockZookeeperConfigurationProvider.java
@@ -25,7 +25,6 @@ import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationService;
import org.apache.skywalking.oap.server.configuration.api.GroupConfigChangeWatcher;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -46,9 +45,8 @@ public class MockZookeeperConfigurationProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new ModuleConfig() {
- };
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-configuration/grpc-configuration-sync/src/main/java/org/apache/skywalking/oap/server/configuration/grpc/GRPCConfigurationProvider.java b/oap-server/server-configuration/grpc-configuration-sync/src/main/java/org/apache/skywalking/oap/server/configuration/grpc/GRPCConfigurationProvider.java
index 1a3d213b6d..c0ee31df24 100644
--- a/oap-server/server-configuration/grpc-configuration-sync/src/main/java/org/apache/skywalking/oap/server/configuration/grpc/GRPCConfigurationProvider.java
+++ b/oap-server/server-configuration/grpc-configuration-sync/src/main/java/org/apache/skywalking/oap/server/configuration/grpc/GRPCConfigurationProvider.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.configuration.grpc;
import com.google.common.base.Strings;
import org.apache.skywalking.oap.server.configuration.api.AbstractConfigurationProvider;
import org.apache.skywalking.oap.server.configuration.api.ConfigWatcherRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
/**
@@ -32,18 +31,24 @@ import org.apache.skywalking.oap.server.library.module.ModuleStartException;
public class GRPCConfigurationProvider extends AbstractConfigurationProvider {
private RemoteEndpointSettings settings;
- public GRPCConfigurationProvider() {
- settings = new RemoteEndpointSettings();
- }
-
@Override
public String name() {
return "grpc";
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return settings;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<RemoteEndpointSettings>() {
+ @Override
+ public Class type() {
+ return RemoteEndpointSettings.class;
+ }
+
+ @Override
+ public void onInitialized(final RemoteEndpointSettings initialized) {
+ settings = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
index 498ff27136..27a54bb4ad 100755
--- a/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
+++ b/oap-server/server-core/src/main/java/org/apache/skywalking/oap/server/core/CoreModuleProvider.java
@@ -55,6 +55,7 @@ import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.profiling.ebpf.EBPFProfilingMutationService;
import org.apache.skywalking.oap.server.core.profiling.ebpf.EBPFProfilingQueryService;
import org.apache.skywalking.oap.server.core.profiling.trace.ProfileTaskMutationService;
+import org.apache.skywalking.oap.server.core.profiling.trace.ProfileTaskQueryService;
import org.apache.skywalking.oap.server.core.query.AggregationQueryService;
import org.apache.skywalking.oap.server.core.query.AlarmQueryService;
import org.apache.skywalking.oap.server.core.query.BrowserLogQueryService;
@@ -63,7 +64,6 @@ import org.apache.skywalking.oap.server.core.query.LogQueryService;
import org.apache.skywalking.oap.server.core.query.MetadataQueryService;
import org.apache.skywalking.oap.server.core.query.MetricsMetadataQueryService;
import org.apache.skywalking.oap.server.core.query.MetricsQueryService;
-import org.apache.skywalking.oap.server.core.profiling.trace.ProfileTaskQueryService;
import org.apache.skywalking.oap.server.core.query.RecordQueryService;
import org.apache.skywalking.oap.server.core.query.TagAutoCompleteQueryService;
import org.apache.skywalking.oap.server.core.query.TopNRecordsQueryService;
@@ -91,7 +91,6 @@ import org.apache.skywalking.oap.server.core.storage.ttl.DataTTLKeeperTimer;
import org.apache.skywalking.oap.server.core.worker.IWorkerInstanceGetter;
import org.apache.skywalking.oap.server.core.worker.IWorkerInstanceSetter;
import org.apache.skywalking.oap.server.core.worker.WorkerInstancesService;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -113,7 +112,7 @@ import org.apache.skywalking.oap.server.telemetry.api.TelemetryRelatedContext;
*/
public class CoreModuleProvider extends ModuleProvider {
- private final CoreModuleConfig moduleConfig;
+ private CoreModuleConfig moduleConfig;
private GRPCServer grpcServer;
private HTTPServer httpServer;
private RemoteClientManager remoteClientManager;
@@ -128,7 +127,6 @@ public class CoreModuleProvider extends ModuleProvider {
public CoreModuleProvider() {
super();
- this.moduleConfig = new CoreModuleConfig();
this.annotationScan = new AnnotationScan();
this.storageModels = new StorageModels();
this.receiver = new SourceReceiverImpl();
@@ -145,8 +143,18 @@ public class CoreModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return moduleConfig;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<CoreModuleConfig>() {
+ @Override
+ public Class type() {
+ return CoreModuleConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final CoreModuleConfig initialized) {
+ moduleConfig = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/EndpointNameGroupingRuleWatcherTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/EndpointNameGroupingRuleWatcherTest.java
index f74ee5d1fc..b393eea755 100644
--- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/EndpointNameGroupingRuleWatcherTest.java
+++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/EndpointNameGroupingRuleWatcherTest.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.core.config.group;
import java.io.FileNotFoundException;
import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -47,7 +46,7 @@ public class EndpointNameGroupingRuleWatcherTest {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointNameGroupingRule4OpenapiWatcherTest.java b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointNameGroupingRule4OpenapiWatcherTest.java
index 605f9b3200..b3f92cc9b8 100644
--- a/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointNameGroupingRule4OpenapiWatcherTest.java
+++ b/oap-server/server-core/src/test/java/org/apache/skywalking/oap/server/core/config/group/openapi/EndpointNameGroupingRule4OpenapiWatcherTest.java
@@ -24,7 +24,6 @@ import java.util.Map;
import org.apache.skywalking.oap.server.configuration.api.ConfigChangeWatcher;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -49,7 +48,7 @@ public class EndpointNameGroupingRule4OpenapiWatcherTest {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/KafkaFetcherProvider.java b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/KafkaFetcherProvider.java
index 288a410074..e45953c62c 100644
--- a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/KafkaFetcherProvider.java
+++ b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/main/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/KafkaFetcherProvider.java
@@ -32,7 +32,6 @@ import org.apache.skywalking.oap.server.analyzer.agent.kafka.provider.handler.Se
import org.apache.skywalking.oap.server.analyzer.agent.kafka.provider.handler.TraceSegmentHandler;
import org.apache.skywalking.oap.server.analyzer.module.AnalyzerModule;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -42,11 +41,7 @@ import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
@Slf4j
public class KafkaFetcherProvider extends ModuleProvider {
private KafkaFetcherHandlerRegister handlerRegister;
- private final KafkaFetcherConfig config;
-
- public KafkaFetcherProvider() {
- config = new KafkaFetcherConfig();
- }
+ private KafkaFetcherConfig config;
@Override
public String name() {
@@ -59,8 +54,18 @@ public class KafkaFetcherProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<KafkaFetcherConfig>() {
+ @Override
+ public Class type() {
+ return KafkaFetcherConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final KafkaFetcherConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/test/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/KafkaFetcherProviderTest.java b/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/test/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/KafkaFetcherProviderTest.java
deleted file mode 100644
index 0adc982e81..0000000000
--- a/oap-server/server-fetcher-plugin/kafka-fetcher-plugin/src/test/java/org/apache/skywalking/oap/server/analyzer/agent/kafka/provider/KafkaFetcherProviderTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.analyzer.agent.kafka.provider;
-
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-import org.apache.skywalking.oap.server.analyzer.agent.kafka.module.KafkaFetcherConfig;
-import org.apache.skywalking.oap.server.analyzer.agent.kafka.module.KafkaFetcherModule;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
-public class KafkaFetcherProviderTest {
- KafkaFetcherProvider provider = new KafkaFetcherProvider();
-
- @Test
- public void name() {
- assertEquals("default", provider.name());
- }
-
- @Test
- public void module() {
- assertEquals(KafkaFetcherModule.class, provider.module());
- }
-
- @Test
- public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
- assertTrue(moduleConfig instanceof KafkaFetcherConfig);
- }
-
- @Test
- public void requiredModules() {
-
- }
-}
diff --git a/oap-server/server-health-checker/src/main/java/org/apache/skywalking/oap/server/health/checker/provider/HealthCheckerProvider.java b/oap-server/server-health-checker/src/main/java/org/apache/skywalking/oap/server/health/checker/provider/HealthCheckerProvider.java
index b4829d826a..557cb01782 100644
--- a/oap-server/server-health-checker/src/main/java/org/apache/skywalking/oap/server/health/checker/provider/HealthCheckerProvider.java
+++ b/oap-server/server-health-checker/src/main/java/org/apache/skywalking/oap/server/health/checker/provider/HealthCheckerProvider.java
@@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
import org.apache.skywalking.oap.server.health.checker.module.HealthCheckerModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleServiceHolder;
@@ -45,7 +44,7 @@ import org.apache.skywalking.oap.server.telemetry.api.MetricsCreator;
public class HealthCheckerProvider extends ModuleProvider {
private final AtomicDouble score = new AtomicDouble();
private final AtomicReference<String> details = new AtomicReference<>();
- private final HealthCheckerConfig config = new HealthCheckerConfig();
+ private HealthCheckerConfig config;
private MetricsCollector collector;
private MetricsCreator metricsCreator;
private ScheduledExecutorService ses;
@@ -58,8 +57,19 @@ public class HealthCheckerProvider extends ModuleProvider {
return HealthCheckerModule.class;
}
- @Override public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ @Override
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<HealthCheckerConfig>() {
+ @Override
+ public Class type() {
+ return HealthCheckerConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final HealthCheckerConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override public void prepare() throws ServiceNotProvidedException, ModuleStartException {
diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java
index ad04576c18..418f5daf5e 100644
--- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java
+++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleDefine.java
@@ -19,6 +19,7 @@
package org.apache.skywalking.oap.server.library.module;
import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
import java.util.Enumeration;
import java.util.Properties;
import java.util.ServiceLoader;
@@ -42,7 +43,6 @@ public abstract class ModuleDefine implements ModuleProviderHolder {
/**
* @return the module name
- *
*/
public final String name() {
return name;
@@ -61,7 +61,7 @@ public abstract class ModuleDefine implements ModuleProviderHolder {
* @throws ProviderNotFoundException when even don't find a single one providers.
*/
void prepare(ModuleManager moduleManager, ApplicationConfiguration.ModuleConfiguration configuration,
- ServiceLoader<ModuleProvider> moduleProviderLoader) throws ProviderNotFoundException, ServiceNotProvidedException, ModuleConfigException, ModuleStartException {
+ ServiceLoader<ModuleProvider> moduleProviderLoader) throws ProviderNotFoundException, ServiceNotProvidedException, ModuleConfigException, ModuleStartException {
for (ModuleProvider provider : moduleProviderLoader) {
if (!configuration.has(provider.name())) {
continue;
@@ -73,10 +73,11 @@ public abstract class ModuleDefine implements ModuleProviderHolder {
loadedProvider.setManager(moduleManager);
loadedProvider.setModuleDefine(this);
} else {
- throw new DuplicateProviderException(this.name() + " module has one " + loadedProvider.name() + "[" + loadedProvider
- .getClass()
- .getName() + "] provider already, " + provider.name() + "[" + provider.getClass()
- .getName() + "] is defined as 2nd provider.");
+ throw new DuplicateProviderException(
+ this.name() + " module has one " + loadedProvider.name() + "[" + loadedProvider
+ .getClass()
+ .getName() + "] provider already, " + provider.name() + "[" + provider.getClass()
+ .getName() + "] is defined as 2nd provider.");
}
}
@@ -88,16 +89,28 @@ public abstract class ModuleDefine implements ModuleProviderHolder {
LOGGER.info("Prepare the {} provider in {} module.", loadedProvider.name(), this.name());
try {
- copyProperties(loadedProvider.createConfigBeanIfAbsent(), configuration.getProviderConfiguration(loadedProvider
- .name()), this.name(), loadedProvider.name());
- } catch (IllegalAccessException e) {
+ final ModuleProvider.ConfigCreator creator = loadedProvider.newConfigCreator();
+ if (creator != null) {
+ final Class typeOfConfig = creator.type();
+ if (typeOfConfig != null) {
+ final ModuleConfig config = (ModuleConfig) typeOfConfig.getDeclaredConstructor().newInstance();
+ copyProperties(
+ config,
+ configuration.getProviderConfiguration(loadedProvider.name()), this.name(),
+ loadedProvider.name()
+ );
+ creator.onInitialized(config);
+ }
+ }
+ } catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException |
+ InstantiationException e) {
throw new ModuleConfigException(this.name() + " module config transport to config bean failure.", e);
}
loadedProvider.prepare();
}
private void copyProperties(ModuleConfig dest, Properties src, String moduleName,
- String providerName) throws IllegalAccessException {
+ String providerName) throws IllegalAccessException {
if (dest == null) {
return;
}
@@ -110,7 +123,8 @@ public abstract class ModuleDefine implements ModuleProviderHolder {
field.setAccessible(true);
field.set(dest, src.get(propertyName));
} catch (NoSuchFieldException e) {
- LOGGER.warn(propertyName + " setting is not supported in " + providerName + " provider of " + moduleName + " module");
+ LOGGER.warn(
+ propertyName + " setting is not supported in " + providerName + " provider of " + moduleName + " module");
}
}
}
diff --git a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java
index 515212f6b9..3adfec579c 100644
--- a/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java
+++ b/oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleProvider.java
@@ -52,9 +52,28 @@ public abstract class ModuleProvider implements ModuleServiceHolder {
public abstract Class<? extends ModuleDefine> module();
/**
- *
+ * Create a config creator to initialize this configuration of this module provider
+ * @return creator instance to initialize the configuration with callback. Or return null if no config is required.
*/
- public abstract ModuleConfig createConfigBeanIfAbsent();
+ public abstract ConfigCreator<? extends ModuleConfig> newConfigCreator();
+
+ /**
+ * Configuration creator to provide Module Config to initialize
+ * @param <T> class type of the config
+ */
+ public interface ConfigCreator<T extends ModuleConfig> {
+ /**
+ * Declare the type of the config class
+ * @return class type
+ */
+ Class<T> type();
+
+ /**
+ * Callback when the ModuleManager kernel has initialized this configuration.
+ * @param initialized instance of the given {@link #type()}
+ */
+ void onInitialized(T initialized);
+ }
/**
* In prepare stage, the moduleDefine should initialize things which are irrelative other modules.
diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleA2Provider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleA2Provider.java
index aca758a630..0709861ec2 100644
--- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleA2Provider.java
+++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleA2Provider.java
@@ -25,13 +25,13 @@ public class ModuleA2Provider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return null;
+ public Class<? extends ModuleDefine> module() {
+ return BaseModuleA.class;
}
@Override
- public Class<? extends ModuleDefine> module() {
- return BaseModuleA.class;
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java
index a8a753d2d6..c808ba823d 100644
--- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java
+++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleAProvider.java
@@ -18,8 +18,11 @@
package org.apache.skywalking.oap.server.library.module;
+import lombok.Getter;
+
public class ModuleAProvider extends ModuleProvider {
- private ModuleAProviderConfig config = new ModuleAProviderConfig();
+ @Getter
+ private ModuleAProviderConfig config;
@Override
public String name() {
@@ -27,8 +30,18 @@ public class ModuleAProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ModuleAProviderConfig>() {
+ @Override
+ public Class type() {
+ return ModuleAProviderConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ModuleAProviderConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB2Provider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB2Provider.java
index 0eda621b30..c4455c963d 100644
--- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB2Provider.java
+++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB2Provider.java
@@ -26,13 +26,13 @@ public class ModuleB2Provider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return null;
+ public Class<? extends ModuleDefine> module() {
+ return BaseModuleB.class;
}
@Override
- public Class<? extends ModuleDefine> module() {
- return BaseModuleB.class;
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB3Provider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB3Provider.java
index b427326294..6d181fbc6c 100644
--- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB3Provider.java
+++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleB3Provider.java
@@ -26,13 +26,13 @@ public class ModuleB3Provider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return null;
+ public Class<? extends ModuleDefine> module() {
+ return BaseModuleB.class;
}
@Override
- public Class<? extends ModuleDefine> module() {
- return BaseModuleB.class;
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java
index 6b9fe9de3c..c19557c570 100644
--- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java
+++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleBProvider.java
@@ -26,13 +26,13 @@ public class ModuleBProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return null;
+ public Class<? extends ModuleDefine> module() {
+ return BaseModuleB.class;
}
@Override
- public Class<? extends ModuleDefine> module() {
- return BaseModuleB.class;
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java
index 16b53a2a51..d72058b106 100644
--- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java
+++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/ModuleManagerTest.java
@@ -18,6 +18,7 @@
package org.apache.skywalking.oap.server.library.module;
+import java.lang.reflect.InvocationTargetException;
import java.util.Properties;
import org.junit.Assert;
import org.junit.Test;
@@ -40,7 +41,7 @@ public class ModuleManagerTest {
}
@Test
- public void testModuleConfigInit() throws ModuleConfigException, ModuleNotFoundException, ModuleStartException {
+ public void testModuleConfigInit() throws ModuleConfigException, ModuleNotFoundException, ModuleStartException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {
ApplicationConfiguration configuration = new ApplicationConfiguration();
final Properties settings = new Properties();
settings.put("attr1", "abc");
@@ -55,7 +56,7 @@ public class ModuleManagerTest {
final ModuleServiceHolder provider = manager.find("BaseA").provider();
Assert.assertTrue(provider instanceof ModuleAProvider);
final ModuleAProvider moduleAProvider = (ModuleAProvider) provider;
- final ModuleAProviderConfig config = (ModuleAProviderConfig) moduleAProvider.createConfigBeanIfAbsent();
+ final ModuleAProviderConfig config = moduleAProvider.getConfig();
Assert.assertEquals("abc", config.getAttr1());
Assert.assertEquals(123, config.getAttr2().intValue());
Assert.assertEquals(123L, config.getAttr3().longValue());
diff --git a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java
index c77064a254..114a67322f 100644
--- a/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java
+++ b/oap-server/server-library/library-module/src/test/java/org/apache/skywalking/oap/server/library/module/TestModuleProvider.java
@@ -30,7 +30,7 @@ public class TestModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java
index 882016cf17..845105ee1b 100644
--- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java
+++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/GraphQLQueryProvider.java
@@ -37,10 +37,10 @@ import org.apache.skywalking.oap.query.graphql.resolver.MetadataQueryV2;
import org.apache.skywalking.oap.query.graphql.resolver.MetricQuery;
import org.apache.skywalking.oap.query.graphql.resolver.MetricsQuery;
import org.apache.skywalking.oap.query.graphql.resolver.Mutation;
+import org.apache.skywalking.oap.query.graphql.resolver.OndemandLogQuery;
import org.apache.skywalking.oap.query.graphql.resolver.ProfileMutation;
import org.apache.skywalking.oap.query.graphql.resolver.ProfileQuery;
import org.apache.skywalking.oap.query.graphql.resolver.Query;
-import org.apache.skywalking.oap.query.graphql.resolver.OndemandLogQuery;
import org.apache.skywalking.oap.query.graphql.resolver.RecordsQuery;
import org.apache.skywalking.oap.query.graphql.resolver.TopNRecordsQuery;
import org.apache.skywalking.oap.query.graphql.resolver.TopologyQuery;
@@ -49,7 +49,6 @@ import org.apache.skywalking.oap.query.graphql.resolver.UIConfigurationManagemen
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.query.QueryModule;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -59,7 +58,7 @@ import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedExcepti
* GraphQL query provider.
*/
public class GraphQLQueryProvider extends ModuleProvider {
- protected final GraphQLQueryConfig config = new GraphQLQueryConfig();
+ protected GraphQLQueryConfig config;
protected final SchemaParserBuilder schemaBuilder = SchemaParser.newParser();
@Override
@@ -73,8 +72,18 @@ public class GraphQLQueryProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<GraphQLQueryConfig>() {
+ @Override
+ public Class type() {
+ return GraphQLQueryConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final GraphQLQueryConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java
index 50921c6758..943294deb6 100644
--- a/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java
+++ b/oap-server/server-query-plugin/query-graphql-plugin/src/main/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQuery.java
@@ -65,8 +65,7 @@ public class LogTestQuery implements GraphQLQueryResolver {
final LogAnalyzerModuleProvider provider =
(LogAnalyzerModuleProvider) moduleManager.find(LogAnalyzerModule.NAME)
.provider();
- final LogAnalyzerModuleConfig config =
- (LogAnalyzerModuleConfig) provider.createConfigBeanIfAbsent();
+ final LogAnalyzerModuleConfig config = provider.getModuleConfig();
final DSL dsl = DSL.of(moduleManager, config, request.getDsl());
final Binding binding = new Binding();
diff --git a/oap-server/server-query-plugin/query-graphql-plugin/src/test/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQueryTest.java b/oap-server/server-query-plugin/query-graphql-plugin/src/test/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQueryTest.java
index 803a86dc5e..71026848d6 100644
--- a/oap-server/server-query-plugin/query-graphql-plugin/src/test/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQueryTest.java
+++ b/oap-server/server-query-plugin/query-graphql-plugin/src/test/java/org/apache/skywalking/oap/query/graphql/resolver/LogTestQueryTest.java
@@ -28,6 +28,7 @@ import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.config.ConfigService;
import org.apache.skywalking.oap.server.core.config.NamingControl;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
+import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleProviderHolder;
import org.apache.skywalking.oap.server.library.module.ModuleServiceHolder;
import org.junit.Before;
@@ -63,8 +64,10 @@ public class LogTestQueryTest extends TestCase {
.thenReturn(providerHolder);
when(providerHolder.provider())
.thenReturn(serviceHolder);
- when(serviceHolder.createConfigBeanIfAbsent())
- .thenReturn(lalConfig);
+ when(serviceHolder.newConfigCreator()).thenCallRealMethod();
+ when(serviceHolder.getModuleConfig()).thenCallRealMethod();
+ final ModuleProvider.ConfigCreator configCreator = serviceHolder.newConfigCreator();
+ configCreator.onInitialized(lalConfig);
final ModuleProviderHolder m = mock(ModuleProviderHolder.class);
when(moduleManager.find(CoreModule.NAME)).thenReturn(m);
diff --git a/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryProvider.java b/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryProvider.java
index 9471724e14..bde7e3d611 100644
--- a/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryProvider.java
+++ b/oap-server/server-query-plugin/zipkin-query-plugin/src/main/java/org/apache/skywalking/oap/query/zipkin/ZipkinQueryProvider.java
@@ -20,26 +20,21 @@ package org.apache.skywalking.oap.query.zipkin;
import com.linecorp.armeria.common.HttpMethod;
import java.util.Collections;
+import org.apache.skywalking.oap.query.zipkin.handler.ZipkinQueryHandler;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
import org.apache.skywalking.oap.server.library.server.http.HTTPServer;
import org.apache.skywalking.oap.server.library.server.http.HTTPServerConfig;
-import org.apache.skywalking.oap.query.zipkin.handler.ZipkinQueryHandler;
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
public class ZipkinQueryProvider extends ModuleProvider {
public static final String NAME = "default";
- private final ZipkinQueryConfig config;
+ private ZipkinQueryConfig config;
private HTTPServer httpServer;
- public ZipkinQueryProvider() {
- config = new ZipkinQueryConfig();
- }
-
@Override
public String name() {
return NAME;
@@ -51,8 +46,18 @@ public class ZipkinQueryProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ZipkinQueryConfig>() {
+ @Override
+ public Class type() {
+ return ZipkinQueryConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ZipkinQueryConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/ConfigurationDiscoveryProvider.java b/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/ConfigurationDiscoveryProvider.java
index 603065acca..8da1370aaf 100644
--- a/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/ConfigurationDiscoveryProvider.java
+++ b/oap-server/server-receiver-plugin/configuration-discovery-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/configuration/discovery/ConfigurationDiscoveryProvider.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.recevier.configuration.discovery;
import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.configuration.api.DynamicConfigurationService;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -44,13 +43,19 @@ public class ConfigurationDiscoveryProvider extends ModuleProvider {
return ConfigurationDiscoveryModule.class;
}
- public ConfigurationDiscoveryProvider() {
- configurationDiscoveryModuleConfig = new ConfigurationDiscoveryModuleConfig();
- }
-
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return configurationDiscoveryModuleConfig;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ConfigurationDiscoveryModuleConfig>() {
+ @Override
+ public Class type() {
+ return ConfigurationDiscoveryModuleConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ConfigurationDiscoveryModuleConfig initialized) {
+ configurationDiscoveryModuleConfig = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/EnvoyMetricReceiverProvider.java b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/EnvoyMetricReceiverProvider.java
index 884b7e1aea..57f81ff596 100644
--- a/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/EnvoyMetricReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/envoy-metrics-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/envoy/EnvoyMetricReceiverProvider.java
@@ -22,7 +22,6 @@ import org.apache.skywalking.aop.server.receiver.mesh.MeshReceiverModule;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -32,14 +31,10 @@ import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerMod
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
public class EnvoyMetricReceiverProvider extends ModuleProvider {
- private final EnvoyMetricReceiverConfig config;
+ private EnvoyMetricReceiverConfig config;
protected String fieldMappingFile = "metadata-service-mapping.yaml";
- public EnvoyMetricReceiverProvider() {
- config = new EnvoyMetricReceiverConfig();
- }
-
@Override
public String name() {
return "default";
@@ -51,8 +46,18 @@ public class EnvoyMetricReceiverProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<EnvoyMetricReceiverConfig>() {
+ @Override
+ public Class type() {
+ return EnvoyMetricReceiverConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final EnvoyMetricReceiverConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-receiver-plugin/otel-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/otel/OtelMetricReceiverProvider.java b/oap-server/server-receiver-plugin/otel-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/otel/OtelMetricReceiverProvider.java
index 362565dd81..80233f01ba 100644
--- a/oap-server/server-receiver-plugin/otel-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/otel/OtelMetricReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/otel-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/otel/OtelMetricReceiverProvider.java
@@ -18,18 +18,18 @@
package org.apache.skywalking.oap.server.receiver.otel;
-import static java.util.stream.Collectors.toList;
import java.util.List;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.analysis.meter.MeterSystem;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
+import static java.util.stream.Collectors.toList;
+
public class OtelMetricReceiverProvider extends ModuleProvider {
public static final String NAME = "default";
private OtelMetricReceiverConfig config;
@@ -45,9 +45,18 @@ public class OtelMetricReceiverProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- config = new OtelMetricReceiverConfig();
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<OtelMetricReceiverConfig>() {
+ @Override
+ public Class type() {
+ return OtelMetricReceiverConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final OtelMetricReceiverConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java
index daf2d3e48b..d7e6dd074b 100644
--- a/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-browser-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/browser/provider/BrowserModuleProvider.java
@@ -24,14 +24,13 @@ import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
import org.apache.skywalking.oap.server.receiver.browser.module.BrowserModule;
-import org.apache.skywalking.oap.server.receiver.browser.provider.handler.grpc.BrowserPerfServiceHandlerCompat;
import org.apache.skywalking.oap.server.receiver.browser.provider.handler.grpc.BrowserPerfServiceHandler;
+import org.apache.skywalking.oap.server.receiver.browser.provider.handler.grpc.BrowserPerfServiceHandlerCompat;
import org.apache.skywalking.oap.server.receiver.browser.provider.handler.rest.BrowserPerfServiceHTTPHandler;
import org.apache.skywalking.oap.server.receiver.browser.provider.parser.errorlog.ErrorLogParserListenerManager;
import org.apache.skywalking.oap.server.receiver.browser.provider.parser.errorlog.listener.ErrorLogRecordListener;
@@ -42,7 +41,7 @@ import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerMod
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
public class BrowserModuleProvider extends ModuleProvider {
- private final BrowserServiceModuleConfig moduleConfig = new BrowserServiceModuleConfig();
+ private BrowserServiceModuleConfig moduleConfig;
@Override
public String name() {
@@ -55,8 +54,18 @@ public class BrowserModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return moduleConfig;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<BrowserServiceModuleConfig>() {
+ @Override
+ public Class type() {
+ return BrowserServiceModuleConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final BrowserServiceModuleConfig initialized) {
+ moduleConfig = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java
index fc47a604d3..f51e6510e2 100644
--- a/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-clr-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/clr/provider/CLRModuleProvider.java
@@ -21,14 +21,13 @@ package org.apache.skywalking.oap.server.receiver.clr.provider;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
import org.apache.skywalking.oap.server.receiver.clr.module.CLRModule;
-import org.apache.skywalking.oap.server.receiver.clr.provider.handler.CLRMetricReportServiceHandlerCompat;
import org.apache.skywalking.oap.server.receiver.clr.provider.handler.CLRMetricReportServiceHandler;
+import org.apache.skywalking.oap.server.receiver.clr.provider.handler.CLRMetricReportServiceHandlerCompat;
import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerModule;
/**
@@ -47,7 +46,7 @@ public class CLRModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/EBPFReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/EBPFReceiverProvider.java
index 4d312a1d7c..52ac5d6dbb 100644
--- a/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/EBPFReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-ebpf-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/ebpf/provider/EBPFReceiverProvider.java
@@ -20,7 +20,6 @@ package org.apache.skywalking.oap.server.receiver.ebpf.provider;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -43,7 +42,7 @@ public class EBPFReceiverProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/EventModuleConfig.java b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/EventModuleConfig.java
deleted file mode 100644
index 58ce63d8e1..0000000000
--- a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/EventModuleConfig.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.oap.server.receiver.event;
-
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-
-public class EventModuleConfig extends ModuleConfig {
-}
diff --git a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/EventModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/EventModuleProvider.java
index 6018d70ea1..259a8ab3f1 100755
--- a/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/EventModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-event-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/event/EventModuleProvider.java
@@ -24,7 +24,6 @@ import org.apache.skywalking.oap.server.analyzer.event.EventAnalyzerModule;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -45,8 +44,8 @@ public class EventModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new EventModuleConfig();
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java
index c51902b38c..c71983f07c 100644
--- a/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-jvm-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/jvm/provider/JVMModuleProvider.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.receiver.jvm.provider;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -43,7 +42,7 @@ public class JVMModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-log-recevier-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/log/provider/LogModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-log-recevier-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/log/provider/LogModuleProvider.java
index a064eba565..cb6108a140 100644
--- a/oap-server/server-receiver-plugin/skywalking-log-recevier-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/log/provider/LogModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-log-recevier-plugin/src/main/java/org/apache/skywalking/oap/server/recevier/log/provider/LogModuleProvider.java
@@ -23,7 +23,6 @@ import org.apache.skywalking.oap.log.analyzer.module.LogAnalyzerModule;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -47,7 +46,7 @@ public class LogModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java
index 785140f355..987bd5aa34 100644
--- a/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-management-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/register/provider/RegisterModuleProvider.java
@@ -23,7 +23,6 @@ import java.util.Collections;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.receiver.register.module.RegisterModule;
@@ -45,7 +44,7 @@ public class RegisterModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshModuleConfig.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshModuleConfig.java
deleted file mode 100644
index 6450621137..0000000000
--- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshModuleConfig.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package org.apache.skywalking.aop.server.receiver.mesh;
-
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
-
-public class MeshModuleConfig extends ModuleConfig {
-}
diff --git a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java
index 6ac5fc4898..7c04d2e8a1 100644
--- a/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-mesh-receiver-plugin/src/main/java/org/apache/skywalking/aop/server/receiver/mesh/MeshReceiverProvider.java
@@ -19,10 +19,9 @@
package org.apache.skywalking.aop.server.receiver.mesh;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.oal.rt.CoreOALDefine;
+import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -31,12 +30,6 @@ import org.apache.skywalking.oap.server.receiver.sharing.server.SharingServerMod
import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
public class MeshReceiverProvider extends ModuleProvider {
- private MeshModuleConfig config;
-
- public MeshReceiverProvider() {
- config = new MeshModuleConfig();
- }
-
@Override
public String name() {
return "default";
@@ -48,8 +41,8 @@ public class MeshReceiverProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java
index 5a4938b64a..769327aa1f 100644
--- a/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-meter-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/meter/provider/MeterReceiverProvider.java
@@ -22,7 +22,6 @@ import org.apache.skywalking.oap.server.analyzer.module.AnalyzerModule;
import org.apache.skywalking.oap.server.analyzer.provider.meter.process.IMeterProcessService;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -47,7 +46,7 @@ public class MeterReceiverProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java
index 88b4374d43..c39bf1d50f 100644
--- a/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-profile-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/profile/provider/ProfileModuleProvider.java
@@ -20,7 +20,6 @@ package org.apache.skywalking.oap.server.receiver.profile.provider;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -45,7 +44,7 @@ public class ProfileModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/SharingServerModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/SharingServerModuleProvider.java
index 8c664d2ff8..e36c72c67e 100644
--- a/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/SharingServerModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-sharing-server-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/sharing/server/SharingServerModuleProvider.java
@@ -20,7 +20,6 @@ package org.apache.skywalking.oap.server.receiver.sharing.server;
import java.util.Objects;
import org.apache.logging.log4j.util.Strings;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.remote.health.HealthCheckServiceHandler;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
@@ -28,7 +27,6 @@ import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegisterImpl;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegisterImpl;
import org.apache.skywalking.oap.server.core.server.auth.AuthenticationInterceptor;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -36,21 +34,17 @@ import org.apache.skywalking.oap.server.library.server.ServerException;
import org.apache.skywalking.oap.server.library.server.grpc.GRPCServer;
import org.apache.skywalking.oap.server.library.server.http.HTTPServer;
import org.apache.skywalking.oap.server.library.server.http.HTTPServerConfig;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
public class SharingServerModuleProvider extends ModuleProvider {
- private final SharingServerConfig config;
+ private SharingServerConfig config;
private GRPCServer grpcServer;
private HTTPServer httpServer;
private ReceiverGRPCHandlerRegister receiverGRPCHandlerRegister;
private ReceiverHTTPHandlerRegister receiverHTTPHandlerRegister;
private AuthenticationInterceptor authenticationInterceptor;
- public SharingServerModuleProvider() {
- super();
- this.config = new SharingServerConfig();
- }
-
@Override
public String name() {
return "default";
@@ -62,8 +56,18 @@ public class SharingServerModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<SharingServerConfig>() {
+ @Override
+ public Class type() {
+ return SharingServerConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final SharingServerConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
index 8d24687ca0..f8e72ba100 100755
--- a/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-trace-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/trace/provider/TraceModuleProvider.java
@@ -25,7 +25,6 @@ import org.apache.skywalking.oap.server.configuration.api.ConfigurationModule;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.GRPCHandlerRegister;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -49,7 +48,7 @@ public class TraceModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixReceiverProvider.java b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixReceiverProvider.java
index 226d11730c..17854a7dbe 100644
--- a/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/skywalking-zabbix-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zabbix/provider/ZabbixReceiverProvider.java
@@ -19,23 +19,21 @@
package org.apache.skywalking.oap.server.receiver.zabbix.provider;
import com.google.common.base.Splitter;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
+import java.util.Collections;
+import java.util.List;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.analysis.meter.MeterSystem;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
import org.apache.skywalking.oap.server.library.util.CollectionUtils;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.receiver.zabbix.module.ZabbixReceiverModule;
import org.apache.skywalking.oap.server.receiver.zabbix.provider.config.ZabbixConfig;
import org.apache.skywalking.oap.server.receiver.zabbix.provider.config.ZabbixConfigs;
import org.apache.skywalking.oap.server.receiver.zabbix.provider.protocol.ZabbixServer;
-import java.util.Collections;
-import java.util.List;
-
public class ZabbixReceiverProvider extends ModuleProvider {
private ZabbixModuleConfig moduleConfig;
private List<ZabbixConfig> configs;
@@ -56,8 +54,18 @@ public class ZabbixReceiverProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return moduleConfig;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ZabbixModuleConfig>() {
+ @Override
+ public Class type() {
+ return ZabbixModuleConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ZabbixModuleConfig initialized) {
+ moduleConfig = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverProvider.java b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverProvider.java
index 4f63bcd7f9..67f44d75fd 100644
--- a/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverProvider.java
+++ b/oap-server/server-receiver-plugin/zipkin-receiver-plugin/src/main/java/org/apache/skywalking/oap/server/receiver/zipkin/ZipkinReceiverProvider.java
@@ -21,7 +21,6 @@ package org.apache.skywalking.oap.server.receiver.zipkin;
import com.linecorp.armeria.common.HttpMethod;
import java.util.Arrays;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -34,14 +33,10 @@ import org.apache.skywalking.oap.server.telemetry.TelemetryModule;
public class ZipkinReceiverProvider extends ModuleProvider {
public static final String NAME = "default";
- private final ZipkinReceiverConfig config;
+ private ZipkinReceiverConfig config;
private HTTPServer httpServer;
private KafkaHandler kafkaHandler;
- public ZipkinReceiverProvider() {
- config = new ZipkinReceiverConfig();
- }
-
@Override
public String name() {
return NAME;
@@ -53,8 +48,18 @@ public class ZipkinReceiverProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<ZipkinReceiverConfig>() {
+ @Override
+ public Class type() {
+ return ZipkinReceiverConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final ZipkinReceiverConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java
index 54d70fd2b5..61f6096ebc 100644
--- a/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java
+++ b/oap-server/server-storage-plugin/storage-banyandb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/banyandb/BanyanDBStorageProvider.java
@@ -19,7 +19,6 @@
package org.apache.skywalking.oap.server.storage.plugin.banyandb;
import org.apache.skywalking.oap.server.core.CoreModule;
-import org.apache.skywalking.oap.server.core.config.ConfigService;
import org.apache.skywalking.oap.server.core.storage.IBatchDAO;
import org.apache.skywalking.oap.server.core.storage.IHistoryDeleteDAO;
import org.apache.skywalking.oap.server.core.storage.StorageBuilderFactory;
@@ -42,32 +41,31 @@ import org.apache.skywalking.oap.server.core.storage.query.IEventQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ILogQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IMetricsQueryDAO;
-import org.apache.skywalking.oap.server.core.storage.query.ITagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IRecordsQueryDAO;
+import org.apache.skywalking.oap.server.core.storage.query.ITagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
+import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBEBPFProfilingScheduleQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBEventQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBMetadataQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBMetricsQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBNetworkAddressAliasDAO;
-import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBTagAutocompleteQueryDAO;
-import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBServiceLabelDAO;
+import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBTagAutocompleteQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBTopologyQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBAlarmQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBBrowserLogQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBEBPFProfilingDataDAO;
-import org.apache.skywalking.oap.server.storage.plugin.banyandb.measure.BanyanDBEBPFProfilingScheduleQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBEBPFProfilingTaskDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBHistoryDeleteDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBLogQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBProfileTaskLogQueryDAO;
+import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBProfileThreadSnapshotQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBStorageDAO;
import org.apache.skywalking.oap.server.storage.plugin.banyandb.stream.BanyanDBTraceQueryDAO;
@@ -81,10 +79,6 @@ public class BanyanDBStorageProvider extends ModuleProvider {
private BanyanDBStorageConfig config;
private BanyanDBStorageClient client;
- public BanyanDBStorageProvider() {
- this.config = new BanyanDBStorageConfig();
- }
-
@Override
public String name() {
return "banyandb";
@@ -96,8 +90,18 @@ public class BanyanDBStorageProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<BanyanDBStorageConfig>() {
+ @Override
+ public Class type() {
+ return BanyanDBStorageConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final BanyanDBStorageConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
@@ -107,7 +111,10 @@ public class BanyanDBStorageProvider extends ModuleProvider {
this.client = new BanyanDBStorageClient(config.getHost(), config.getPort());
// Stream
- this.registerServiceImplementation(IBatchDAO.class, new BanyanDBBatchDAO(client, config.getMaxBulkSize(), config.getFlushInterval(), config.getConcurrentWriteThreads()));
+ this.registerServiceImplementation(
+ IBatchDAO.class, new BanyanDBBatchDAO(client, config.getMaxBulkSize(), config.getFlushInterval(),
+ config.getConcurrentWriteThreads()
+ ));
this.registerServiceImplementation(StorageDAO.class, new BanyanDBStorageDAO(client));
this.registerServiceImplementation(INetworkAddressAliasDAO.class, new BanyanDBNetworkAddressAliasDAO(client));
this.registerServiceImplementation(ITraceQueryDAO.class, new BanyanDBTraceQueryDAO(client));
@@ -115,15 +122,25 @@ public class BanyanDBStorageProvider extends ModuleProvider {
this.registerServiceImplementation(IMetadataQueryDAO.class, new BanyanDBMetadataQueryDAO(client));
this.registerServiceImplementation(IAlarmQueryDAO.class, new BanyanDBAlarmQueryDAO(client));
this.registerServiceImplementation(ILogQueryDAO.class, new BanyanDBLogQueryDAO(client));
- this.registerServiceImplementation(IProfileTaskQueryDAO.class, new BanyanDBProfileTaskQueryDAO(client, this.config.getProfileTaskQueryMaxSize()));
- this.registerServiceImplementation(IProfileTaskLogQueryDAO.class, new BanyanDBProfileTaskLogQueryDAO(client, this.config.getProfileTaskQueryMaxSize()));
- this.registerServiceImplementation(IProfileThreadSnapshotQueryDAO.class, new BanyanDBProfileThreadSnapshotQueryDAO(client, this.config.getProfileTaskQueryMaxSize()));
+ this.registerServiceImplementation(
+ IProfileTaskQueryDAO.class, new BanyanDBProfileTaskQueryDAO(client,
+ this.config.getProfileTaskQueryMaxSize()
+ ));
+ this.registerServiceImplementation(
+ IProfileTaskLogQueryDAO.class, new BanyanDBProfileTaskLogQueryDAO(client,
+ this.config.getProfileTaskQueryMaxSize()
+ ));
+ this.registerServiceImplementation(
+ IProfileThreadSnapshotQueryDAO.class, new BanyanDBProfileThreadSnapshotQueryDAO(client,
+ this.config.getProfileTaskQueryMaxSize()
+ ));
this.registerServiceImplementation(UITemplateManagementDAO.class, new BanyanDBUITemplateManagementDAO(client));
this.registerServiceImplementation(IEventQueryDAO.class, new BanyanDBEventQueryDAO(client));
this.registerServiceImplementation(ITopologyQueryDAO.class, new BanyanDBTopologyQueryDAO(client));
this.registerServiceImplementation(IEBPFProfilingTaskDAO.class, new BanyanDBEBPFProfilingTaskDAO(client));
this.registerServiceImplementation(IEBPFProfilingDataDAO.class, new BanyanDBEBPFProfilingDataDAO(client));
- this.registerServiceImplementation(IEBPFProfilingScheduleDAO.class, new BanyanDBEBPFProfilingScheduleQueryDAO(client));
+ this.registerServiceImplementation(
+ IEBPFProfilingScheduleDAO.class, new BanyanDBEBPFProfilingScheduleQueryDAO(client));
this.registerServiceImplementation(IServiceLabelDAO.class, new BanyanDBServiceLabelDAO(client));
this.registerServiceImplementation(ITagAutoCompleteQueryDAO.class, new BanyanDBTagAutocompleteQueryDAO(client));
@@ -136,15 +153,11 @@ public class BanyanDBStorageProvider extends ModuleProvider {
@Override
public void start() throws ServiceNotProvidedException, ModuleStartException {
- final ConfigService configService = getManager().find(CoreModule.NAME)
- .provider()
- .getService(ConfigService.class);
-
MetricsCreator metricCreator = getManager().find(TelemetryModule.NAME)
- .provider()
- .getService(MetricsCreator.class);
+ .provider()
+ .getService(MetricsCreator.class);
HealthCheckMetrics healthChecker = metricCreator.createHealthCheckerGauge(
- "storage_banyandb", MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE);
+ "storage_banyandb", MetricsTag.EMPTY_KEY, MetricsTag.EMPTY_VALUE);
this.client.registerChecker(healthChecker);
try {
this.client.connect();
@@ -162,6 +175,6 @@ public class BanyanDBStorageProvider extends ModuleProvider {
@Override
public String[] requiredModules() {
- return new String[]{CoreModule.NAME};
+ return new String[] {CoreModule.NAME};
}
}
diff --git a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java
index 107bdb3a6f..7413afe15b 100644
--- a/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java
+++ b/oap-server/server-storage-plugin/storage-elasticsearch-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/elasticsearch/StorageModuleElasticsearchProvider.java
@@ -22,13 +22,6 @@ import java.io.ByteArrayInputStream;
import java.util.Properties;
import java.util.function.Function;
import lombok.extern.slf4j.Slf4j;
-import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IEBPFProfilingDataDAO;
-import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IEBPFProfilingScheduleDAO;
-import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IEBPFProfilingTaskDAO;
-import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IServiceLabelDAO;
-import org.apache.skywalking.oap.server.core.storage.query.ITagAutoCompleteQueryDAO;
-import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
-import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.storage.IBatchDAO;
import org.apache.skywalking.oap.server.core.storage.IHistoryDeleteDAO;
@@ -38,6 +31,10 @@ import org.apache.skywalking.oap.server.core.storage.StorageModule;
import org.apache.skywalking.oap.server.core.storage.cache.INetworkAddressAliasDAO;
import org.apache.skywalking.oap.server.core.storage.management.UITemplateManagementDAO;
import org.apache.skywalking.oap.server.core.storage.model.ModelCreator;
+import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IEBPFProfilingDataDAO;
+import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IEBPFProfilingScheduleDAO;
+import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IEBPFProfilingTaskDAO;
+import org.apache.skywalking.oap.server.core.storage.profiling.ebpf.IServiceLabelDAO;
import org.apache.skywalking.oap.server.core.storage.profiling.trace.IProfileTaskLogQueryDAO;
import org.apache.skywalking.oap.server.core.storage.profiling.trace.IProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.core.storage.profiling.trace.IProfileThreadSnapshotQueryDAO;
@@ -48,16 +45,18 @@ import org.apache.skywalking.oap.server.core.storage.query.IEventQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ILogQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IMetadataQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IMetricsQueryDAO;
+import org.apache.skywalking.oap.server.core.storage.query.ITagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IRecordsQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO;
+import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
import org.apache.skywalking.oap.server.library.client.elasticsearch.ElasticSearchClient;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
import org.apache.skywalking.oap.server.library.util.MultipleFilesChangeMonitor;
+import org.apache.skywalking.oap.server.library.util.StringUtil;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.BatchProcessEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.HistoryDeleteEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.base.IndexController;
@@ -75,10 +74,10 @@ import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.ESEve
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.LogQueryEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.MetadataQueryEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.MetricsQueryEsDAO;
-import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.ServiceLabelEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.ProfileTaskLogEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.ProfileTaskQueryEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.ProfileThreadSnapshotQueryEsDAO;
+import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.ServiceLabelEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.TagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.RecordsQueryEsDAO;
import org.apache.skywalking.oap.server.storage.plugin.elasticsearch.query.TopologyQueryEsDAO;
@@ -96,14 +95,9 @@ import org.apache.skywalking.oap.server.telemetry.api.MetricsTag;
@Slf4j
public class StorageModuleElasticsearchProvider extends ModuleProvider {
- protected final StorageModuleElasticsearchConfig config;
+ protected StorageModuleElasticsearchConfig config;
protected ElasticSearchClient elasticSearchClient;
- public StorageModuleElasticsearchProvider() {
- super();
- this.config = new StorageModuleElasticsearchConfig();
- }
-
@Override
public String name() {
return "elasticsearch";
@@ -115,8 +109,18 @@ public class StorageModuleElasticsearchProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<StorageModuleElasticsearchConfig>() {
+ @Override
+ public Class type() {
+ return StorageModuleElasticsearchConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final StorageModuleElasticsearchConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java
index 6aa052621d..fa9a726a8c 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/h2/H2StorageProvider.java
@@ -50,7 +50,6 @@ import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
import org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -68,10 +67,10 @@ import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2LogQueryDAO
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetricsQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2NetworkAddressAliasDAO;
-import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskLogQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileThreadSnapshotQueryDAO;
+import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2StorageDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2TableInstaller;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2TagAutoCompleteQueryDAO;
@@ -97,10 +96,6 @@ public class H2StorageProvider extends ModuleProvider {
private H2StorageConfig config;
private JDBCHikariCPClient h2Client;
- public H2StorageProvider() {
- config = new H2StorageConfig();
- }
-
@Override
public String name() {
return "h2";
@@ -112,8 +107,18 @@ public class H2StorageProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<H2StorageConfig>() {
+ @Override
+ public Class type() {
+ return H2StorageConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final H2StorageConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java
index 2d065556ec..23e6cadb85 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/mysql/MySQLStorageProvider.java
@@ -49,7 +49,6 @@ import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
import org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -63,10 +62,10 @@ import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2HistoryDele
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetricsQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2NetworkAddressAliasDAO;
-import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskLogQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileThreadSnapshotQueryDAO;
+import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2StorageDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2TagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2RecordsQueryDAO;
@@ -88,10 +87,6 @@ public class MySQLStorageProvider extends ModuleProvider {
private MySQLStorageConfig config;
private JDBCHikariCPClient mysqlClient;
- public MySQLStorageProvider() {
- config = new MySQLStorageConfig();
- }
-
@Override
public String name() {
return "mysql";
@@ -103,8 +98,18 @@ public class MySQLStorageProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<MySQLStorageConfig>() {
+ @Override
+ public Class type() {
+ return MySQLStorageConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final MySQLStorageConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/PostgreSQLStorageProvider.java b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/PostgreSQLStorageProvider.java
index 34944da9f5..7f845bb7c7 100644
--- a/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/PostgreSQLStorageProvider.java
+++ b/oap-server/server-storage-plugin/storage-jdbc-hikaricp-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/postgresql/PostgreSQLStorageProvider.java
@@ -49,7 +49,6 @@ import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
import org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -62,10 +61,10 @@ import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2EventQueryD
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2HistoryDeleteDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2NetworkAddressAliasDAO;
-import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskLogQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileThreadSnapshotQueryDAO;
+import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2StorageDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2TagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2RecordsQueryDAO;
@@ -88,10 +87,6 @@ public class PostgreSQLStorageProvider extends ModuleProvider {
private PostgreSQLStorageConfig config;
private JDBCHikariCPClient postgresqlClient;
- public PostgreSQLStorageProvider() {
- config = new PostgreSQLStorageConfig();
- }
-
@Override
public String name() {
return "postgresql";
@@ -103,8 +98,18 @@ public class PostgreSQLStorageProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<PostgreSQLStorageConfig>() {
+ @Override
+ public Class type() {
+ return PostgreSQLStorageConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final PostgreSQLStorageConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
@@ -113,43 +118,55 @@ public class PostgreSQLStorageProvider extends ModuleProvider {
postgresqlClient = new JDBCHikariCPClient(config.getProperties());
- this.registerServiceImplementation(IBatchDAO.class, new H2BatchDAO(postgresqlClient, config.getMaxSizeOfBatchSql(), config.getAsyncBatchPersistentPoolSize()));
this.registerServiceImplementation(
- StorageDAO.class,
- new H2StorageDAO(postgresqlClient));
+ IBatchDAO.class, new H2BatchDAO(postgresqlClient, config.getMaxSizeOfBatchSql(),
+ config.getAsyncBatchPersistentPoolSize()
+ ));
this.registerServiceImplementation(
- INetworkAddressAliasDAO.class, new H2NetworkAddressAliasDAO(postgresqlClient));
+ StorageDAO.class,
+ new H2StorageDAO(postgresqlClient)
+ );
+ this.registerServiceImplementation(
+ INetworkAddressAliasDAO.class, new H2NetworkAddressAliasDAO(postgresqlClient));
this.registerServiceImplementation(ITopologyQueryDAO.class, new H2TopologyQueryDAO(postgresqlClient));
this.registerServiceImplementation(IMetricsQueryDAO.class, new PostgreSQLMetricsQueryDAO(postgresqlClient));
this.registerServiceImplementation(
- ITraceQueryDAO.class,
- new PostgreSQLTraceQueryDAO(getManager(), postgresqlClient)
+ ITraceQueryDAO.class,
+ new PostgreSQLTraceQueryDAO(getManager(), postgresqlClient)
);
- this.registerServiceImplementation(IBrowserLogQueryDAO.class, new PostgreSQLBrowserLogQueryDAO(postgresqlClient));
this.registerServiceImplementation(
- IMetadataQueryDAO.class, new H2MetadataQueryDAO(postgresqlClient, config.getMetadataQueryMaxSize()));
- this.registerServiceImplementation(IAggregationQueryDAO.class, new PostgreSQLAggregationQueryDAO(postgresqlClient));
- this.registerServiceImplementation(IAlarmQueryDAO.class, new PostgreSQLAlarmQueryDAO(postgresqlClient, getManager()));
+ IBrowserLogQueryDAO.class, new PostgreSQLBrowserLogQueryDAO(postgresqlClient));
+ this.registerServiceImplementation(
+ IMetadataQueryDAO.class, new H2MetadataQueryDAO(postgresqlClient, config.getMetadataQueryMaxSize()));
this.registerServiceImplementation(
- IHistoryDeleteDAO.class, new H2HistoryDeleteDAO(postgresqlClient));
+ IAggregationQueryDAO.class, new PostgreSQLAggregationQueryDAO(postgresqlClient));
+ this.registerServiceImplementation(
+ IAlarmQueryDAO.class, new PostgreSQLAlarmQueryDAO(postgresqlClient, getManager()));
+ this.registerServiceImplementation(
+ IHistoryDeleteDAO.class, new H2HistoryDeleteDAO(postgresqlClient));
this.registerServiceImplementation(IRecordsQueryDAO.class, new H2RecordsQueryDAO(postgresqlClient));
this.registerServiceImplementation(
- ILogQueryDAO.class,
- new PostgreSQLLogQueryDAO(postgresqlClient, getManager()));
+ ILogQueryDAO.class,
+ new PostgreSQLLogQueryDAO(postgresqlClient, getManager())
+ );
this.registerServiceImplementation(IProfileTaskQueryDAO.class, new H2ProfileTaskQueryDAO(postgresqlClient));
- this.registerServiceImplementation(IProfileTaskLogQueryDAO.class, new H2ProfileTaskLogQueryDAO(postgresqlClient));
this.registerServiceImplementation(
- IProfileThreadSnapshotQueryDAO.class, new H2ProfileThreadSnapshotQueryDAO(postgresqlClient));
- this.registerServiceImplementation(UITemplateManagementDAO.class, new H2UITemplateManagementDAO(postgresqlClient));
+ IProfileTaskLogQueryDAO.class, new H2ProfileTaskLogQueryDAO(postgresqlClient));
+ this.registerServiceImplementation(
+ IProfileThreadSnapshotQueryDAO.class, new H2ProfileThreadSnapshotQueryDAO(postgresqlClient));
+ this.registerServiceImplementation(
+ UITemplateManagementDAO.class, new H2UITemplateManagementDAO(postgresqlClient));
this.registerServiceImplementation(IEventQueryDAO.class, new H2EventQueryDAO(postgresqlClient));
this.registerServiceImplementation(IEBPFProfilingTaskDAO.class, new H2EBPFProfilingTaskDAO(postgresqlClient));
- this.registerServiceImplementation(IEBPFProfilingScheduleDAO.class, new H2EBPFProfilingScheduleDAO(postgresqlClient));
+ this.registerServiceImplementation(
+ IEBPFProfilingScheduleDAO.class, new H2EBPFProfilingScheduleDAO(postgresqlClient));
this.registerServiceImplementation(IEBPFProfilingDataDAO.class, new H2EBPFProfilingDataDAO(postgresqlClient));
this.registerServiceImplementation(IServiceLabelDAO.class, new H2ServiceLabelQueryDAO(postgresqlClient));
- this.registerServiceImplementation(ITagAutoCompleteQueryDAO.class, new H2TagAutoCompleteQueryDAO(postgresqlClient));
+ this.registerServiceImplementation(
+ ITagAutoCompleteQueryDAO.class, new H2TagAutoCompleteQueryDAO(postgresqlClient));
this.registerServiceImplementation(IZipkinQueryDAO.class, new H2ZipkinQueryDAO(postgresqlClient));
}
diff --git a/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/mysql/MySQLShardingStorageProvider.java b/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/mysql/MySQLShardingStorageProvider.java
index 41a4e10521..892829d985 100644
--- a/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/mysql/MySQLShardingStorageProvider.java
+++ b/oap-server/server-storage-plugin/storage-shardingsphere-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/shardingsphere/mysql/MySQLShardingStorageProvider.java
@@ -52,7 +52,6 @@ import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
import org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -65,10 +64,10 @@ import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2EventQueryD
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2HistoryDeleteDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2NetworkAddressAliasDAO;
-import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskLogQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileThreadSnapshotQueryDAO;
+import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2StorageDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2TagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2RecordsQueryDAO;
@@ -89,10 +88,6 @@ public class MySQLShardingStorageProvider extends ModuleProvider {
private MySQLShardingStorageConfig config;
private JDBCHikariCPClient mysqlClient;
- public MySQLShardingStorageProvider() {
- config = new MySQLShardingStorageConfig();
- }
-
@Override
public String name() {
return "mysql-sharding";
@@ -104,20 +99,34 @@ public class MySQLShardingStorageProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<MySQLShardingStorageConfig>() {
+ @Override
+ public Class type() {
+ return MySQLShardingStorageConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final MySQLShardingStorageConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
public void prepare() throws ServiceNotProvidedException {
this.registerServiceImplementation(StorageBuilderFactory.class, new StorageBuilderFactory.Default());
-
+
mysqlClient = new JDBCHikariCPClient(config.getProperties());
- this.registerServiceImplementation(IBatchDAO.class, new H2BatchDAO(mysqlClient, config.getMaxSizeOfBatchSql(), config.getAsyncBatchPersistentPoolSize()));
+ this.registerServiceImplementation(
+ IBatchDAO.class, new H2BatchDAO(mysqlClient, config.getMaxSizeOfBatchSql(),
+ config.getAsyncBatchPersistentPoolSize()
+ ));
this.registerServiceImplementation(
StorageDAO.class,
- new H2StorageDAO(mysqlClient));
+ new H2StorageDAO(mysqlClient)
+ );
this.registerServiceImplementation(
INetworkAddressAliasDAO.class, new H2NetworkAddressAliasDAO(mysqlClient));
@@ -137,7 +146,8 @@ public class MySQLShardingStorageProvider extends ModuleProvider {
this.registerServiceImplementation(IRecordsQueryDAO.class, new H2RecordsQueryDAO(mysqlClient));
this.registerServiceImplementation(
ILogQueryDAO.class,
- new MySQLShardingLogQueryDAO(mysqlClient, getManager()));
+ new MySQLShardingLogQueryDAO(mysqlClient, getManager())
+ );
this.registerServiceImplementation(IProfileTaskQueryDAO.class, new H2ProfileTaskQueryDAO(mysqlClient));
this.registerServiceImplementation(IProfileTaskLogQueryDAO.class, new H2ProfileTaskLogQueryDAO(mysqlClient));
@@ -151,7 +161,8 @@ public class MySQLShardingStorageProvider extends ModuleProvider {
this.registerServiceImplementation(IEventQueryDAO.class, new H2EventQueryDAO(mysqlClient));
this.registerServiceImplementation(IEBPFProfilingTaskDAO.class, new H2EBPFProfilingTaskDAO(mysqlClient));
- this.registerServiceImplementation(IEBPFProfilingScheduleDAO.class, new H2EBPFProfilingScheduleDAO(mysqlClient));
+ this.registerServiceImplementation(
+ IEBPFProfilingScheduleDAO.class, new H2EBPFProfilingScheduleDAO(mysqlClient));
this.registerServiceImplementation(IEBPFProfilingDataDAO.class, new H2EBPFProfilingDataDAO(mysqlClient));
this.registerServiceImplementation(IServiceLabelDAO.class, new H2ServiceLabelQueryDAO(mysqlClient));
this.registerServiceImplementation(ITagAutoCompleteQueryDAO.class, new H2TagAutoCompleteQueryDAO(mysqlClient));
diff --git a/oap-server/server-storage-plugin/storage-tidb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/tidb/TiDBStorageProvider.java b/oap-server/server-storage-plugin/storage-tidb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/tidb/TiDBStorageProvider.java
index 18a42a5533..fe147818ef 100644
--- a/oap-server/server-storage-plugin/storage-tidb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/tidb/TiDBStorageProvider.java
+++ b/oap-server/server-storage-plugin/storage-tidb-plugin/src/main/java/org/apache/skywalking/oap/server/storage/plugin/jdbc/tidb/TiDBStorageProvider.java
@@ -50,7 +50,6 @@ import org.apache.skywalking.oap.server.core.storage.query.ITopologyQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.ITraceQueryDAO;
import org.apache.skywalking.oap.server.core.storage.query.IZipkinQueryDAO;
import org.apache.skywalking.oap.server.library.client.jdbc.hikaricp.JDBCHikariCPClient;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -64,10 +63,10 @@ import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2HistoryDele
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetadataQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2MetricsQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2NetworkAddressAliasDAO;
-import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskLogQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileTaskQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ProfileThreadSnapshotQueryDAO;
+import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2ServiceLabelQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2StorageDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2TagAutoCompleteQueryDAO;
import org.apache.skywalking.oap.server.storage.plugin.jdbc.h2.dao.H2RecordsQueryDAO;
@@ -92,10 +91,6 @@ public class TiDBStorageProvider extends ModuleProvider {
private TiDBStorageConfig config;
private JDBCHikariCPClient mysqlClient;
- public TiDBStorageProvider() {
- config = new TiDBStorageConfig();
- }
-
@Override
public String name() {
return "tidb";
@@ -107,8 +102,18 @@ public class TiDBStorageProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<TiDBStorageConfig>() {
+ @Override
+ public Class type() {
+ return TiDBStorageConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final TiDBStorageConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/none/NoneTelemetryProvider.java b/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/none/NoneTelemetryProvider.java
index 0c1165ecb4..771a3d7226 100644
--- a/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/none/NoneTelemetryProvider.java
+++ b/oap-server/server-telemetry/telemetry-api/src/main/java/org/apache/skywalking/oap/server/telemetry/none/NoneTelemetryProvider.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.oap.server.telemetry.none;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -42,9 +41,8 @@ public class NoneTelemetryProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new ModuleConfig() {
- };
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override
diff --git a/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java b/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java
index ca6fa06a8b..861609ccb8 100644
--- a/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java
+++ b/oap-server/server-telemetry/telemetry-prometheus/src/main/java/org/apache/skywalking/oap/server/telemetry/prometheus/PrometheusTelemetryProvider.java
@@ -19,7 +19,6 @@
package org.apache.skywalking.oap.server.telemetry.prometheus;
import io.prometheus.client.hotspot.DefaultExports;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -35,10 +34,6 @@ import org.apache.skywalking.oap.server.telemetry.prometheus.httpserver.HttpServ
public class PrometheusTelemetryProvider extends ModuleProvider {
private PrometheusConfig config;
- public PrometheusTelemetryProvider() {
- config = new PrometheusConfig();
- }
-
@Override
public String name() {
return "prometheus";
@@ -50,8 +45,18 @@ public class PrometheusTelemetryProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return config;
+ public ConfigCreator newConfigCreator() {
+ return new ConfigCreator<PrometheusConfig>() {
+ @Override
+ public Class type() {
+ return PrometheusConfig.class;
+ }
+
+ @Override
+ public void onInitialized(final PrometheusConfig initialized) {
+ config = initialized;
+ }
+ };
}
@Override
diff --git a/oap-server/server-tools/data-generator/src/main/java/org/apache/skywalking/module/DataGeneratorModuleProvider.java b/oap-server/server-tools/data-generator/src/main/java/org/apache/skywalking/module/DataGeneratorModuleProvider.java
index 23ce2a6fa3..6b3ef1cbca 100644
--- a/oap-server/server-tools/data-generator/src/main/java/org/apache/skywalking/module/DataGeneratorModuleProvider.java
+++ b/oap-server/server-tools/data-generator/src/main/java/org/apache/skywalking/module/DataGeneratorModuleProvider.java
@@ -19,12 +19,11 @@
package org.apache.skywalking.module;
+import com.linecorp.armeria.common.HttpMethod;
import java.util.Arrays;
import java.util.List;
-import com.linecorp.armeria.common.HttpMethod;
import org.apache.skywalking.oap.server.core.CoreModule;
import org.apache.skywalking.oap.server.core.server.HTTPHandlerRegister;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleProvider;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
@@ -45,7 +44,7 @@ public class DataGeneratorModuleProvider extends ModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
+ public ConfigCreator newConfigCreator() {
return null;
}
diff --git a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java
index 01d3f9d95a..b5f6d16d4e 100755
--- a/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java
+++ b/oap-server/server-tools/profile-exporter/tool-profile-snapshot-server-mock/src/main/java/org/apache/skywalking/oap/server/tool/profile/core/MockCoreModuleProvider.java
@@ -36,6 +36,7 @@ import org.apache.skywalking.oap.server.core.config.group.EndpointNameGrouping;
import org.apache.skywalking.oap.server.core.management.ui.template.UITemplateManagementService;
import org.apache.skywalking.oap.server.core.oal.rt.OALEngineLoaderService;
import org.apache.skywalking.oap.server.core.profiling.trace.ProfileTaskMutationService;
+import org.apache.skywalking.oap.server.core.profiling.trace.ProfileTaskQueryService;
import org.apache.skywalking.oap.server.core.query.AggregationQueryService;
import org.apache.skywalking.oap.server.core.query.AlarmQueryService;
import org.apache.skywalking.oap.server.core.query.BrowserLogQueryService;
@@ -44,7 +45,6 @@ import org.apache.skywalking.oap.server.core.query.LogQueryService;
import org.apache.skywalking.oap.server.core.query.MetadataQueryService;
import org.apache.skywalking.oap.server.core.query.MetricsMetadataQueryService;
import org.apache.skywalking.oap.server.core.query.MetricsQueryService;
-import org.apache.skywalking.oap.server.core.profiling.trace.ProfileTaskQueryService;
import org.apache.skywalking.oap.server.core.query.TopNRecordsQueryService;
import org.apache.skywalking.oap.server.core.query.TopologyQueryService;
import org.apache.skywalking.oap.server.core.query.TraceQueryService;
@@ -61,7 +61,6 @@ import org.apache.skywalking.oap.server.core.storage.model.ModelManipulator;
import org.apache.skywalking.oap.server.core.storage.model.StorageModels;
import org.apache.skywalking.oap.server.core.worker.IWorkerInstanceGetter;
import org.apache.skywalking.oap.server.core.worker.IWorkerInstanceSetter;
-import org.apache.skywalking.oap.server.library.module.ModuleConfig;
import org.apache.skywalking.oap.server.library.module.ModuleDefine;
import org.apache.skywalking.oap.server.library.module.ModuleStartException;
import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedException;
@@ -95,8 +94,8 @@ public class MockCoreModuleProvider extends CoreModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new MockCoreModuleConfig();
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override