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/21 08:03:41 UTC
[skywalking] 01/01: Refactor module config. Introduce new config creator mechanism.
This is an automated email from the ASF dual-hosted git repository.
wusheng pushed a commit to branch refactor-module-config
in repository https://gitbox.apache.org/repos/asf/skywalking.git
commit 149e9678e2e9be56b01d70a36c307fab0ebae29c
Author: Wu Sheng <wu...@foxmail.com>
AuthorDate: Fri Oct 21 16:03:23 2022 +0800
Refactor module config. Introduce new config creator mechanism.
---
.../analyzer/provider/AnalyzerModuleProvider.java | 24 ++++----
.../trace/UninstrumentedGatewaysConfigTest.java | 2 +-
.../analyzer/event/EventAnalyzerModuleConfig.java | 24 --------
.../event/EventAnalyzerModuleProvider.java | 5 +-
.../provider/LogAnalyzerModuleProvider.java | 17 ++++--
.../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 | 2 +-
...TClusterModuleConsulProviderFunctionalTest.java | 4 +-
.../plugin/etcd/ClusterModuleEtcdProvider.java | 20 ++++---
.../ITClusterModuleEtcdProviderFunctionalTest.java | 4 +-
.../ClusterModuleKubernetesProvider.java | 22 ++++---
.../ClusterModuleKubernetesProviderTest.java | 2 +-
.../plugin/nacos/ClusterModuleNacosProvider.java | 17 ++++--
...ITClusterModuleNacosProviderFunctionalTest.java | 6 +-
.../ClusterModuleStandaloneProvider.java | 2 +-
.../zookeeper/ClusterModuleZookeeperProvider.java | 20 +++++--
.../ClusterModuleZookeeperProviderTest.java | 2 +-
...usterModuleZookeeperProviderFunctionalTest.java | 4 +-
.../api/NoneConfigurationProvider.java | 3 +-
.../api/ConfigWatcherRegisterTest.java | 3 +-
.../apollo/ApolloConfigurationProvider.java | 20 ++++---
.../apollo/ApolloConfigurationTestProvider.java | 5 +-
.../consul/ConsulConfigurationProvider.java | 21 ++++---
.../consul/ConsulConfigurationTestProvider.java | 6 +-
.../etcd/EtcdConfigurationProvider.java | 23 +++++---
.../etcd/EtcdConfigurationTestProvider.java | 6 +-
.../configmap/ConfigmapConfigurationProvider.java | 21 ++++---
.../ConfigmapConfigurationProviderTest.java | 2 +-
.../nacos/NacosConfigurationProvider.java | 21 ++++---
.../nacos/NacosConfigurationTestProvider.java | 5 +-
.../zookeeper/ZookeeperConfigurationProvider.java | 18 ++++--
.../it/MockZookeeperConfigurationProvider.java | 5 +-
.../grpc/GRPCConfigurationProvider.java | 19 +++---
.../oap/server/core/CoreModuleProvider.java | 17 ++++--
.../group/EndpointNameGroupingRuleWatcherTest.java | 3 +-
...ndpointNameGroupingRule4OpenapiWatcherTest.java | 3 +-
.../agent/kafka/provider/KafkaFetcherProvider.java | 20 ++++---
.../kafka/provider/KafkaFetcherProviderTest.java | 2 +-
.../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 | 16 ++++-
.../server/library/module/ModuleB2Provider.java | 8 +--
.../server/library/module/ModuleB3Provider.java | 9 +--
.../oap/server/library/module/ModuleBProvider.java | 9 +--
.../server/library/module/ModuleManagerTest.java | 2 +-
.../server/library/module/TestModuleProvider.java | 2 +-
.../oap/query/graphql/GraphQLQueryProvider.java | 19 ++++--
.../oap/query/graphql/resolver/LogTestQuery.java | 2 +-
.../query/graphql/resolver/LogTestQueryTest.java | 2 +-
.../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 | 2 +-
.../ebpf/provider/EBPFReceiverProvider.java | 2 +-
.../server/receiver/event/EventModuleConfig.java | 24 --------
.../server/receiver/event/EventModuleProvider.java | 4 +-
.../receiver/jvm/provider/JVMModuleProvider.java | 3 +-
.../recevier/log/provider/LogModuleProvider.java | 2 +-
.../register/provider/RegisterModuleProvider.java | 3 +-
.../aop/server/receiver/mesh/MeshModuleConfig.java | 24 --------
.../server/receiver/mesh/MeshReceiverProvider.java | 10 +---
.../meter/provider/MeterReceiverProvider.java | 2 +-
.../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 | 60 ++++++++++++-------
.../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 | 5 +-
.../prometheus/PrometheusTelemetryProvider.java | 19 +++---
.../module/DataGeneratorModuleProvider.java | 4 +-
.../tool/profile/core/MockCoreModuleProvider.java | 4 +-
87 files changed, 672 insertions(+), 507 deletions(-)
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/UninstrumentedGatewaysConfigTest.java b/oap-server/analyzer/agent-analyzer/src/test/java/org/apache/skywalking/oap/server/analyzer/provider/trace/UninstrumentedGatewaysConfigTest.java
index edd00c8ac8..c3e6d17c7a 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
@@ -50,7 +50,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..93320d2b27 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
@@ -23,7 +23,6 @@ import org.apache.skywalking.oap.log.analyzer.provider.log.LogAnalyzerServiceImp
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;
@@ -31,7 +30,7 @@ import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedExcepti
public class LogAnalyzerModuleProvider extends ModuleProvider {
- private final LogAnalyzerModuleConfig moduleConfig = new LogAnalyzerModuleConfig();
+ private LogAnalyzerModuleConfig moduleConfig;
private LogAnalyzerServiceImpl logAnalyzerService;
@@ -46,8 +45,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..091ec9dd00 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
@@ -88,7 +88,7 @@ public class ClusterModuleConsulProviderTest {
@Test
public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
+ ModuleConfig moduleConfig = provider.newConfigCreator();
assertTrue(moduleConfig instanceof ClusterModuleConsulConfig);
}
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..779329b369 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,7 +107,7 @@ public class ITClusterModuleConsulProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
- ClusterModuleConsulConfig config = (ClusterModuleConsulConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleConsulConfig config = (ClusterModuleConsulConfig) provider.newConfigCreator();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
assertEquals(config.getInternalComHost(), queryAddress.getHost());
@@ -198,7 +198,7 @@ public class ITClusterModuleConsulProviderFunctionalTest {
int internalComPort) throws Exception {
ClusterModuleConsulProvider provider = new ClusterModuleConsulProvider();
- ClusterModuleConsulConfig config = (ClusterModuleConsulConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleConsulConfig config = (ClusterModuleConsulConfig) provider.newConfigCreator();
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..f5f513bb69 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
@@ -33,11 +33,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 +46,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..26c0c9fa4d 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
@@ -99,7 +99,7 @@ public class ITClusterModuleEtcdProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
ClusterModuleEtcdConfig config =
- (ClusterModuleEtcdConfig) provider.createConfigBeanIfAbsent();
+ (ClusterModuleEtcdConfig) provider.newConfigCreator();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
assertEquals(config.getInternalComHost(), queryAddress.getHost());
@@ -192,7 +192,7 @@ public class ITClusterModuleEtcdProviderFunctionalTest {
ClusterModuleEtcdProvider provider = new ClusterModuleEtcdProvider();
ClusterModuleEtcdConfig config =
- (ClusterModuleEtcdConfig) provider.createConfigBeanIfAbsent();
+ (ClusterModuleEtcdConfig) provider.newConfigCreator();
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..4fc9f61a0d 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
@@ -72,7 +72,7 @@ public class ClusterModuleKubernetesProviderTest {
@Test
public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
+ ModuleConfig moduleConfig = provider.newConfigCreator();
assertTrue(moduleConfig instanceof ClusterModuleKubernetesConfig);
}
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..b36629574a 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
@@ -36,12 +36,11 @@ import org.apache.skywalking.oap.server.library.module.ServiceNotProvidedExcepti
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 +54,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..bc03708155 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
@@ -107,7 +107,7 @@ public class ITClusterModuleNacosProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
ClusterModuleNacosConfig config =
- (ClusterModuleNacosConfig) provider.createConfigBeanIfAbsent();
+ (ClusterModuleNacosConfig) provider.newConfigCreator();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
assertEquals(config.getInternalComHost(), queryAddress.getHost());
@@ -195,7 +195,7 @@ public class ITClusterModuleNacosProviderFunctionalTest {
ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider();
ClusterModuleNacosConfig config =
- (ClusterModuleNacosConfig) provider.createConfigBeanIfAbsent();
+ (ClusterModuleNacosConfig) provider.newConfigCreator();
config.setHostPort(nacosAddress);
config.setServiceName(servicName);
@@ -214,7 +214,7 @@ public class ITClusterModuleNacosProviderFunctionalTest {
ClusterModuleNacosProvider provider = new ClusterModuleNacosProvider();
ClusterModuleNacosConfig config =
- (ClusterModuleNacosConfig) provider.createConfigBeanIfAbsent();
+ (ClusterModuleNacosConfig) provider.newConfigCreator();
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..6831cc695b 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
@@ -42,7 +42,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/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
index 0e96c6abce..f62903a0dc 100644
--- 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
@@ -41,7 +41,7 @@ public class ClusterModuleZookeeperProviderTest {
@Test
public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
+ ModuleConfig moduleConfig = provider.newConfigCreator();
assertTrue(moduleConfig instanceof ClusterModuleZookeeperConfig);
}
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..e66441665e 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
@@ -102,7 +102,7 @@ public class ITClusterModuleZookeeperProviderFunctionalTest {
List<RemoteInstance> remoteInstances = queryRemoteNodes(provider, 1);
- ClusterModuleZookeeperConfig config = (ClusterModuleZookeeperConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleZookeeperConfig config = (ClusterModuleZookeeperConfig) provider.newConfigCreator();
assertEquals(1, remoteInstances.size());
Address queryAddress = remoteInstances.get(0).getAddress();
assertEquals(config.getInternalComHost(), queryAddress.getHost());
@@ -193,7 +193,7 @@ public class ITClusterModuleZookeeperProviderFunctionalTest {
int internalComPort) throws Exception {
ClusterModuleZookeeperProvider provider = new ClusterModuleZookeeperProvider();
provider.setManager(moduleManager);
- ClusterModuleZookeeperConfig moduleConfig = (ClusterModuleZookeeperConfig) provider.createConfigBeanIfAbsent();
+ ClusterModuleZookeeperConfig moduleConfig = (ClusterModuleZookeeperConfig) provider.newConfigCreator();
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..908046d484 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
@@ -28,11 +28,7 @@ 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 +36,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..eed78e57d3 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
@@ -47,9 +47,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/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
index 4090296837..17e7561c57 100644
--- 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
@@ -40,7 +40,7 @@ public class ConfigmapConfigurationProviderTest {
@Test
public void module() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
+ ModuleConfig moduleConfig = provider.newConfigCreator();
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..ba3d53c025 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
@@ -47,9 +47,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..abbdec3259 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
@@ -30,18 +30,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..9bd0c5ce83 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
@@ -46,9 +46,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 8ed6c14ece..c4391d3fa2 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
@@ -112,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;
@@ -127,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();
@@ -144,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..9e01d0dca9 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
@@ -42,11 +42,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 +55,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
index 0adc982e81..8b782e6144 100644
--- 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
@@ -41,7 +41,7 @@ public class KafkaFetcherProviderTest {
@Test
public void createConfigBeanIfAbsent() {
- ModuleConfig moduleConfig = provider.createConfigBeanIfAbsent();
+ ModuleConfig moduleConfig = provider.newConfigCreator();
assertTrue(moduleConfig instanceof KafkaFetcherConfig);
}
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..eb0492f5e3 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 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..5d6e8fdbd2 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
@@ -19,7 +19,7 @@
package org.apache.skywalking.oap.server.library.module;
public class ModuleAProvider extends ModuleProvider {
- private ModuleAProviderConfig config = new ModuleAProviderConfig();
+ private ModuleAProviderConfig config;
@Override
public String name() {
@@ -27,8 +27,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..927ea698b4 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
@@ -25,16 +25,17 @@ public class ModuleB3Provider extends ModuleProvider {
return "P-B3";
}
- @Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return null;
- }
@Override
public Class<? extends ModuleDefine> module() {
return BaseModuleB.class;
}
+ @Override
+ public ConfigCreator newConfigCreator() {
+ return null;
+ }
+
@Override
public void prepare() throws ServiceNotProvidedException {
this.registerServiceImplementation(BaseModuleB.ServiceBBusiness1.class, new ModuleBBusiness1Impl());
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..86fe9c37fc 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
@@ -25,16 +25,17 @@ public class ModuleBProvider extends ModuleProvider {
return "P-B";
}
- @Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return null;
- }
@Override
public Class<? extends ModuleDefine> module() {
return BaseModuleB.class;
}
+ @Override
+ public ConfigCreator newConfigCreator() {
+ return null;
+ }
+
@Override
public void prepare() throws ServiceNotProvidedException {
this.registerServiceImplementation(BaseModuleB.ServiceBBusiness1.class, new ModuleBBusiness1Impl());
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..323df766fc 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
@@ -55,7 +55,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 = (ModuleAProviderConfig) moduleAProvider.newConfigCreator();
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 f4f694a96e..e2bcb044fa 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.TopNRecordsQuery;
import org.apache.skywalking.oap.query.graphql.resolver.TopologyQuery;
import org.apache.skywalking.oap.query.graphql.resolver.TraceQuery;
@@ -48,7 +48,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;
@@ -58,7 +57,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
@@ -72,8 +71,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..5121cdf4a0 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
@@ -66,7 +66,7 @@ public class LogTestQuery implements GraphQLQueryResolver {
(LogAnalyzerModuleProvider) moduleManager.find(LogAnalyzerModule.NAME)
.provider();
final LogAnalyzerModuleConfig config =
- (LogAnalyzerModuleConfig) provider.createConfigBeanIfAbsent();
+ (LogAnalyzerModuleConfig) provider.newConfigCreator();
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..0459aeb20e 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
@@ -63,7 +63,7 @@ public class LogTestQueryTest extends TestCase {
.thenReturn(providerHolder);
when(providerHolder.provider())
.thenReturn(serviceHolder);
- when(serviceHolder.createConfigBeanIfAbsent())
+ when(serviceHolder.newConfigCreator())
.thenReturn(lalConfig);
final ModuleProviderHolder m = mock(ModuleProviderHolder.class);
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..140d710b85 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
@@ -47,7 +47,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..7a270fe9c8 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
@@ -43,7 +43,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..04a74726c8 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
@@ -45,8 +45,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..efce957780 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
@@ -47,7 +47,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..0fb805b570 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
@@ -31,12 +31,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 +42,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..6da5a622b9 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
@@ -47,7 +47,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 8e3977407c..83b3cd636a 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
@@ -47,27 +47,26 @@ import org.apache.skywalking.oap.server.core.storage.query.ITopNRecordsQueryDAO;
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 +80,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 +91,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 +112,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 +123,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));
@@ -137,14 +155,14 @@ public class BanyanDBStorageProvider extends ModuleProvider {
@Override
public void start() throws ServiceNotProvidedException, ModuleStartException {
final ConfigService configService = getManager().find(CoreModule.NAME)
- .provider()
- .getService(ConfigService.class);
+ .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 +180,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 451c481f58..58ded3ce40 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.ITopNRecordsQueryDAO;
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.TopNRecordsQueryEsDAO;
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 2fa67ec25f..84ec536483 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 d82f4ee076..eac4892ead 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.H2TopNRecordsQueryDAO;
@@ -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 788a81d61a..b1e6f01403 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.H2TopNRecordsQueryDAO;
@@ -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(ITopNRecordsQueryDAO.class, new H2TopNRecordsQueryDAO(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 91e05d0ec6..843970106d 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.H2TopNRecordsQueryDAO;
@@ -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(ITopNRecordsQueryDAO.class, new H2TopNRecordsQueryDAO(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 3871c9182f..d31d6a3c79 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.H2TopNRecordsQueryDAO;
@@ -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..8c1e53c6d7 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
@@ -42,9 +42,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..ef21e24e70 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,9 +19,9 @@
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;
@@ -45,7 +45,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..78732c28b4 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
@@ -95,8 +95,8 @@ public class MockCoreModuleProvider extends CoreModuleProvider {
}
@Override
- public ModuleConfig createConfigBeanIfAbsent() {
- return new MockCoreModuleConfig();
+ public ConfigCreator newConfigCreator() {
+ return null;
}
@Override