diff --git a/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AgentModuleGRPCConfig.java b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AgentModuleGRPCConfig.java
new file mode 100644
index 000000000..47049d2a6
--- /dev/null
+++ b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AgentModuleGRPCConfig.java
@@ -0,0 +1,27 @@
+/*
+ * 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.apm.collector.agent.grpc.provider;
+
+import org.apache.skywalking.apm.collector.server.grpc.GRPCServerConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+class AgentModuleGRPCConfig extends GRPCServerConfig {
+}
diff --git a/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AgentModuleGRPCProvider.java b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AgentModuleGRPCProvider.java
index c0bc7261d..01ee7cb29 100644
--- a/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AgentModuleGRPCProvider.java
+++ b/apm-collector/apm-collector-agent/agent-grpc/agent-grpc-provider/src/main/java/org/apache/skywalking/apm/collector/agent/grpc/provider/AgentModuleGRPCProvider.java
@@ -18,8 +18,14 @@
package org.apache.skywalking.apm.collector.agent.grpc.provider;
+import java.io.File;
import org.apache.skywalking.apm.collector.agent.grpc.define.AgentGRPCModule;
-import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.*;
+import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.ApplicationRegisterServiceHandler;
+import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.InstanceDiscoveryServiceHandler;
+import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.JVMMetricsServiceHandler;
+import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.NetworkAddressRegisterServiceHandler;
+import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.ServiceNameDiscoveryServiceHandler;
+import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.TraceSegmentServiceHandler;
import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.naming.AgentGRPCNamingHandler;
import org.apache.skywalking.apm.collector.agent.grpc.provider.handler.naming.AgentGRPCNamingListener;
import org.apache.skywalking.apm.collector.analysis.metric.define.AnalysisMetricModule;
@@ -28,8 +34,11 @@ import org.apache.skywalking.apm.collector.cluster.ClusterModule;
import org.apache.skywalking.apm.collector.cluster.service.ModuleListenerService;
import org.apache.skywalking.apm.collector.cluster.service.ModuleRegisterService;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
+import org.apache.skywalking.apm.collector.core.util.Const;
+import org.apache.skywalking.apm.collector.core.util.StringUtils;
import org.apache.skywalking.apm.collector.grpc.manager.GRPCManagerModule;
import org.apache.skywalking.apm.collector.grpc.manager.service.GRPCManagerService;
import org.apache.skywalking.apm.collector.naming.NamingModule;
@@ -37,20 +46,18 @@ import org.apache.skywalking.apm.collector.naming.service.NamingHandlerRegisterS
import org.apache.skywalking.apm.collector.server.grpc.GRPCServer;
import org.eclipse.jetty.util.StringUtil;
-import java.io.File;
-import java.util.Properties;
-
/**
* @author peng-yongsheng
*/
public class AgentModuleGRPCProvider extends ModuleProvider {
public static final String NAME = "gRPC";
- private static final String HOST = "host";
- private static final String PORT = "port";
- private static final String SSL_CERT_CHAIN_FILEPATH = "ssl_cert_chain_file";
- private static final String SSL_PRIVATE_KEY_FILE = "ssl_private_key_file";
- private static final String AUTHENTICATION = "authentication";
+ private final AgentModuleGRPCConfig config;
+
+ public AgentModuleGRPCProvider() {
+ super();
+ this.config = new AgentModuleGRPCConfig();
+ }
@Override
public String name() {
@@ -62,19 +69,23 @@ public class AgentModuleGRPCProvider extends ModuleProvider {
return AgentGRPCModule.class;
}
- @Override
- public void prepare(Properties config) throws ServiceNotProvidedException {
-
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
}
@Override
- public void start(Properties config) throws ServiceNotProvidedException {
- String host = config.getProperty(HOST);
- Integer port = (Integer) config.get(PORT);
- String sslCertChainFilePath = config.getProperty(SSL_CERT_CHAIN_FILEPATH);
- String sslPrivateKeyFilePath = config.getProperty(SSL_PRIVATE_KEY_FILE);
+ public void prepare() {
+ }
- AuthenticationSimpleChecker.INSTANCE.setExpectedToken(config.getProperty(AUTHENTICATION, ""));
+ @Override
+ public void start() throws ServiceNotProvidedException {
+ String host = config.getHost();
+ Integer port = config.getPort();
+ String sslCertChainFilePath = config.getSslCertChainFilePath();
+ String sslPrivateKeyFilePath = config.getSslPrivateKeyFilePath();
+ String authentication = StringUtils.isNotEmpty(config.getAuthentication()) ? config.getAuthentication() : Const.EMPTY_STRING;
+
+ AuthenticationSimpleChecker.INSTANCE.setExpectedToken(authentication);
File sslCertChainFile = null;
File sslPrivateKeyFile = null;
if (StringUtil.isNotBlank(sslCertChainFilePath)) {
@@ -112,13 +123,12 @@ public class AgentModuleGRPCProvider extends ModuleProvider {
}
@Override
- public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
+ public void notifyAfterCompleted() {
}
@Override
public String[] requiredModules() {
- return new String[]{ClusterModule.NAME, NamingModule.NAME, GRPCManagerModule.NAME, AnalysisSegmentParserModule.NAME, AnalysisMetricModule.NAME};
+ return new String[] {ClusterModule.NAME, NamingModule.NAME, GRPCManagerModule.NAME, AnalysisSegmentParserModule.NAME, AnalysisMetricModule.NAME};
}
private void addHandlers(GRPCServer gRPCServer) {
diff --git a/apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/AgentModuleJettyConfig.java b/apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/AgentModuleJettyConfig.java
new file mode 100644
index 000000000..d6c86c32b
--- /dev/null
+++ b/apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/AgentModuleJettyConfig.java
@@ -0,0 +1,27 @@
+/*
+ * 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.apm.collector.agent.jetty.provider;
+
+import org.apache.skywalking.apm.collector.server.jetty.JettyServerConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+class AgentModuleJettyConfig extends JettyServerConfig {
+}
diff --git a/apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/AgentModuleJettyProvider.java b/apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/AgentModuleJettyProvider.java
index cf87b9142..2b6d49951 100644
--- a/apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/AgentModuleJettyProvider.java
+++ b/apm-collector/apm-collector-agent/agent-jetty/agent-jetty-provider/src/main/java/org/apache/skywalking/apm/collector/agent/jetty/provider/AgentModuleJettyProvider.java
@@ -19,32 +19,37 @@
package org.apache.skywalking.apm.collector.agent.jetty.provider;
import org.apache.skywalking.apm.collector.agent.jetty.define.AgentJettyModule;
-import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.*;
+import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.ApplicationRegisterServletHandler;
+import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.InstanceDiscoveryServletHandler;
+import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.NetworkAddressRegisterServletHandler;
+import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.ServiceNameDiscoveryServiceHandler;
+import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.TraceSegmentServletHandler;
import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.naming.AgentJettyNamingHandler;
import org.apache.skywalking.apm.collector.agent.jetty.provider.handler.naming.AgentJettyNamingListener;
import org.apache.skywalking.apm.collector.cluster.ClusterModule;
import org.apache.skywalking.apm.collector.cluster.service.ModuleListenerService;
import org.apache.skywalking.apm.collector.cluster.service.ModuleRegisterService;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
-import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
import org.apache.skywalking.apm.collector.jetty.manager.JettyManagerModule;
import org.apache.skywalking.apm.collector.jetty.manager.service.JettyManagerService;
import org.apache.skywalking.apm.collector.naming.NamingModule;
import org.apache.skywalking.apm.collector.naming.service.NamingHandlerRegisterService;
import org.apache.skywalking.apm.collector.server.jetty.JettyServer;
-import java.util.Properties;
-
/**
* @author peng-yongsheng
*/
public class AgentModuleJettyProvider extends ModuleProvider {
public static final String NAME = "jetty";
- private static final String HOST = "host";
- private static final String PORT = "port";
- private static final String CONTEXT_PATH = "context_path";
+ private final AgentModuleJettyConfig config;
+
+ public AgentModuleJettyProvider() {
+ super();
+ this.config = new AgentModuleJettyConfig();
+ }
@Override public String name() {
return NAME;
@@ -54,17 +59,16 @@ public class AgentModuleJettyProvider extends ModuleProvider {
return AgentJettyModule.class;
}
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
-
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
- String host = config.getProperty(HOST);
- Integer port = (Integer)config.get(PORT);
- String contextPath = config.getProperty(CONTEXT_PATH);
+ @Override public void prepare() {
+ }
+ @Override public void start() {
ModuleRegisterService moduleRegisterService = getManager().find(ClusterModule.NAME).getService(ModuleRegisterService.class);
- moduleRegisterService.register(AgentJettyModule.NAME, this.name(), new AgentModuleJettyRegistration(host, port, contextPath));
+ moduleRegisterService.register(AgentJettyModule.NAME, this.name(), new AgentModuleJettyRegistration(config.getHost(), config.getPort(), config.getContextPath()));
AgentJettyNamingListener namingListener = new AgentJettyNamingListener();
ModuleListenerService moduleListenerService = getManager().find(ClusterModule.NAME).getService(ModuleListenerService.class);
@@ -74,12 +78,11 @@ public class AgentModuleJettyProvider extends ModuleProvider {
namingHandlerRegisterService.register(new AgentJettyNamingHandler(namingListener));
JettyManagerService managerService = getManager().find(JettyManagerModule.NAME).getService(JettyManagerService.class);
- JettyServer jettyServer = managerService.createIfAbsent(host, port, contextPath);
+ JettyServer jettyServer = managerService.createIfAbsent(config.getHost(), config.getPort(), config.getContextPath());
addHandlers(jettyServer);
}
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
+ @Override public void notifyAfterCompleted() {
}
@Override public String[] requiredModules() {
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleConfig.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleConfig.java
new file mode 100644
index 000000000..7df976a12
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleConfig.java
@@ -0,0 +1,27 @@
+/*
+ * 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.apm.collector.analysis.alarm.provider;
+
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+class AnalysisAlarmModuleConfig extends ModuleConfig {
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleProvider.java
index 708b93d5e..aaaa6a4bd 100644
--- a/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleProvider.java
+++ b/apm-collector/apm-collector-analysis/analysis-alarm/alarm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/alarm/provider/AnalysisAlarmModuleProvider.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.apm.collector.analysis.alarm.provider;
-import java.util.Properties;
import org.apache.skywalking.apm.collector.analysis.alarm.define.AnalysisAlarmModule;
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.application.ApplicationMetricAlarmGraph;
import org.apache.skywalking.apm.collector.analysis.alarm.provider.worker.application.ApplicationReferenceMetricAlarmGraph;
@@ -31,8 +30,8 @@ import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCrea
import org.apache.skywalking.apm.collector.analysis.worker.timer.PersistenceTimer;
import org.apache.skywalking.apm.collector.configuration.ConfigurationModule;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
-import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
import org.apache.skywalking.apm.collector.remote.RemoteModule;
import org.apache.skywalking.apm.collector.remote.service.RemoteDataRegisterService;
import org.apache.skywalking.apm.collector.storage.StorageModule;
@@ -48,6 +47,13 @@ import org.apache.skywalking.apm.collector.storage.table.alarm.ServiceAlarmList;
*/
public class AnalysisAlarmModuleProvider extends ModuleProvider {
+ private final AnalysisAlarmModuleConfig config;
+
+ public AnalysisAlarmModuleProvider() {
+ super();
+ this.config = new AnalysisAlarmModuleConfig();
+ }
+
@Override public String name() {
return "default";
}
@@ -56,11 +62,14 @@ public class AnalysisAlarmModuleProvider extends ModuleProvider {
return AnalysisAlarmModule.class;
}
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
-
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
+ @Override public void prepare() {
+ }
+
+ @Override public void start() {
WorkerCreateListener workerCreateListener = new WorkerCreateListener();
ServiceMetricAlarmGraph serviceMetricAlarmGraph = new ServiceMetricAlarmGraph(getManager(), workerCreateListener);
@@ -87,8 +96,7 @@ public class AnalysisAlarmModuleProvider extends ModuleProvider {
persistenceTimer.start(getManager(), workerCreateListener.getPersistenceWorkers());
}
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
+ @Override public void notifyAfterCompleted() {
}
@Override public String[] requiredModules() {
diff --git a/apm-collector/apm-collector-analysis/analysis-baseline/baseline-computing-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/baseline/computing/provider/AnalysisBaselineComputingModuleConfig.java b/apm-collector/apm-collector-analysis/analysis-baseline/baseline-computing-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/baseline/computing/provider/AnalysisBaselineComputingModuleConfig.java
new file mode 100644
index 000000000..1ed1bcdc5
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-baseline/baseline-computing-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/baseline/computing/provider/AnalysisBaselineComputingModuleConfig.java
@@ -0,0 +1,27 @@
+/*
+ * 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.apm.collector.analysis.baseline.computing.provider;
+
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+class AnalysisBaselineComputingModuleConfig extends ModuleConfig {
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-baseline/baseline-computing-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/baseline/computing/provider/AnalysisBaselineComputingModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-baseline/baseline-computing-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/baseline/computing/provider/AnalysisBaselineComputingModuleProvider.java
index 99742fcaf..aa86137bb 100644
--- a/apm-collector/apm-collector-analysis/analysis-baseline/baseline-computing-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/baseline/computing/provider/AnalysisBaselineComputingModuleProvider.java
+++ b/apm-collector/apm-collector-analysis/analysis-baseline/baseline-computing-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/baseline/computing/provider/AnalysisBaselineComputingModuleProvider.java
@@ -18,11 +18,10 @@
package org.apache.skywalking.apm.collector.analysis.baseline.computing.provider;
-import java.util.Properties;
import org.apache.skywalking.apm.collector.analysis.baseline.computing.define.AnalysisBaselineComputingModule;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
-import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
/**
* The AnalysisBaselineComputingModuleProvider is the default implementation of {@link
@@ -32,7 +31,13 @@ import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedExcepti
*/
public class AnalysisBaselineComputingModuleProvider extends ModuleProvider {
- public static final String NAME = "default";
+ private static final String NAME = "default";
+ private final AnalysisBaselineComputingModuleConfig config;
+
+ public AnalysisBaselineComputingModuleProvider() {
+ super();
+ this.config = new AnalysisBaselineComputingModuleConfig();
+ }
@Override public String name() {
return NAME;
@@ -42,16 +47,17 @@ public class AnalysisBaselineComputingModuleProvider extends ModuleProvider {
return AnalysisBaselineComputingModule.class;
}
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
-
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
-
+ @Override public void prepare() {
}
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
+ @Override public void start() {
+ }
+ @Override public void notifyAfterCompleted() {
}
@Override public String[] requiredModules() {
diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleConfig.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleConfig.java
new file mode 100644
index 000000000..4eec76e8f
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleConfig.java
@@ -0,0 +1,27 @@
+/*
+ * 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.apm.collector.analysis.jvm.provider;
+
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+class AnalysisJVMModuleConfig extends ModuleConfig {
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleProvider.java
index a8d50e2e6..c7672fde5 100644
--- a/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleProvider.java
+++ b/apm-collector/apm-collector-analysis/analysis-jvm/jvm-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/jvm/provider/AnalysisJVMModuleProvider.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.apm.collector.analysis.jvm.provider;
-import java.util.Properties;
import org.apache.skywalking.apm.collector.analysis.jvm.define.AnalysisJVMModule;
import org.apache.skywalking.apm.collector.analysis.jvm.define.service.ICpuMetricService;
import org.apache.skywalking.apm.collector.analysis.jvm.define.service.IGCMetricService;
@@ -35,6 +34,7 @@ import org.apache.skywalking.apm.collector.analysis.jvm.provider.worker.memorypo
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.analysis.worker.timer.PersistenceTimer;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
import org.apache.skywalking.apm.collector.remote.RemoteModule;
@@ -46,6 +46,12 @@ import org.apache.skywalking.apm.collector.storage.StorageModule;
public class AnalysisJVMModuleProvider extends ModuleProvider {
public static final String NAME = "default";
+ private final AnalysisJVMModuleConfig config;
+
+ public AnalysisJVMModuleProvider() {
+ super();
+ this.config = new AnalysisJVMModuleConfig();
+ }
@Override public String name() {
return NAME;
@@ -55,14 +61,18 @@ public class AnalysisJVMModuleProvider extends ModuleProvider {
return AnalysisJVMModule.class;
}
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
+ }
+
+ @Override public void prepare() throws ServiceNotProvidedException {
this.registerServiceImplementation(ICpuMetricService.class, new CpuMetricService());
this.registerServiceImplementation(IGCMetricService.class, new GCMetricService());
this.registerServiceImplementation(IMemoryMetricService.class, new MemoryMetricService());
this.registerServiceImplementation(IMemoryPoolMetricService.class, new MemoryPoolMetricService());
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
+ @Override public void start() {
WorkerCreateListener workerCreateListener = new WorkerCreateListener();
graphCreate(workerCreateListener);
@@ -71,8 +81,7 @@ public class AnalysisJVMModuleProvider extends ModuleProvider {
persistenceTimer.start(getManager(), workerCreateListener.getPersistenceWorkers());
}
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
+ @Override public void notifyAfterCompleted() {
}
@Override public String[] requiredModules() {
diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/AnalysisMetricModuleConfig.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/AnalysisMetricModuleConfig.java
new file mode 100644
index 000000000..2030486ba
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/AnalysisMetricModuleConfig.java
@@ -0,0 +1,27 @@
+/*
+ * 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.apm.collector.analysis.metric.provider;
+
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+class AnalysisMetricModuleConfig extends ModuleConfig {
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/AnalysisMetricModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/AnalysisMetricModuleProvider.java
index 6ac9e06c8..64045b69d 100644
--- a/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/AnalysisMetricModuleProvider.java
+++ b/apm-collector/apm-collector-analysis/analysis-metric/metric-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/metric/provider/AnalysisMetricModuleProvider.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.apm.collector.analysis.metric.provider;
-import java.util.Properties;
import org.apache.skywalking.apm.collector.analysis.metric.define.AnalysisMetricModule;
import org.apache.skywalking.apm.collector.analysis.metric.define.service.IInstanceHeartBeatService;
import org.apache.skywalking.apm.collector.analysis.metric.provider.service.InstanceHeartBeatService;
@@ -44,11 +43,15 @@ import org.apache.skywalking.apm.collector.analysis.segment.parser.define.Analys
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.service.ISegmentParserListenerRegister;
import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCreateListener;
import org.apache.skywalking.apm.collector.analysis.worker.timer.PersistenceTimer;
+import org.apache.skywalking.apm.collector.cache.CacheModule;
+import org.apache.skywalking.apm.collector.configuration.ConfigurationModule;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
import org.apache.skywalking.apm.collector.remote.RemoteModule;
import org.apache.skywalking.apm.collector.remote.service.RemoteDataRegisterService;
+import org.apache.skywalking.apm.collector.storage.StorageModule;
import org.apache.skywalking.apm.collector.storage.table.application.ApplicationComponent;
import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMapping;
import org.apache.skywalking.apm.collector.storage.table.application.ApplicationMetric;
@@ -65,6 +68,12 @@ import org.apache.skywalking.apm.collector.storage.table.service.ServiceReferenc
public class AnalysisMetricModuleProvider extends ModuleProvider {
public static final String NAME = "default";
+ private final AnalysisMetricModuleConfig config;
+
+ public AnalysisMetricModuleProvider() {
+ super();
+ this.config = new AnalysisMetricModuleConfig();
+ }
@Override public String name() {
return NAME;
@@ -74,11 +83,15 @@ public class AnalysisMetricModuleProvider extends ModuleProvider {
return AnalysisMetricModule.class;
}
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
+ }
+
+ @Override public void prepare() throws ServiceNotProvidedException {
this.registerServiceImplementation(IInstanceHeartBeatService.class, new InstanceHeartBeatService());
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
+ @Override public void start() {
segmentParserListenerRegister();
WorkerCreateListener workerCreateListener = new WorkerCreateListener();
@@ -91,12 +104,11 @@ public class AnalysisMetricModuleProvider extends ModuleProvider {
persistenceTimer.start(getManager(), workerCreateListener.getPersistenceWorkers());
}
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
+ @Override public void notifyAfterCompleted() {
}
@Override public String[] requiredModules() {
- return new String[] {AnalysisSegmentParserModule.NAME};
+ return new String[] {AnalysisSegmentParserModule.NAME, ConfigurationModule.NAME, CacheModule.NAME, StorageModule.NAME};
}
private void segmentParserListenerRegister() {
diff --git a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/AnalysisRegisterModuleConfig.java b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/AnalysisRegisterModuleConfig.java
new file mode 100644
index 000000000..c91efd12b
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/AnalysisRegisterModuleConfig.java
@@ -0,0 +1,27 @@
+/*
+ * 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.apm.collector.analysis.register.provider;
+
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+class AnalysisRegisterModuleConfig extends ModuleConfig {
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/AnalysisRegisterModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/AnalysisRegisterModuleProvider.java
index f8a232355..31fa92f1f 100644
--- a/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/AnalysisRegisterModuleProvider.java
+++ b/apm-collector/apm-collector-analysis/analysis-register/register-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/register/provider/AnalysisRegisterModuleProvider.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.apm.collector.analysis.register.provider;
-import java.util.Properties;
import org.apache.skywalking.apm.collector.analysis.register.define.AnalysisRegisterModule;
import org.apache.skywalking.apm.collector.analysis.register.define.service.IApplicationIDService;
import org.apache.skywalking.apm.collector.analysis.register.define.service.IInstanceIDService;
@@ -36,6 +35,7 @@ import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCrea
import org.apache.skywalking.apm.collector.analysis.worker.timer.PersistenceTimer;
import org.apache.skywalking.apm.collector.cache.CacheModule;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
import org.apache.skywalking.apm.collector.remote.RemoteModule;
@@ -52,6 +52,12 @@ import org.apache.skywalking.apm.collector.storage.table.register.ServiceName;
public class AnalysisRegisterModuleProvider extends ModuleProvider {
public static final String NAME = "default";
+ private final AnalysisRegisterModuleConfig config;
+
+ public AnalysisRegisterModuleProvider() {
+ super();
+ this.config = new AnalysisRegisterModuleConfig();
+ }
@Override public String name() {
return NAME;
@@ -61,14 +67,18 @@ public class AnalysisRegisterModuleProvider extends ModuleProvider {
return AnalysisRegisterModule.class;
}
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
+ }
+
+ @Override public void prepare() throws ServiceNotProvidedException {
this.registerServiceImplementation(IApplicationIDService.class, new ApplicationIDService(getManager()));
this.registerServiceImplementation(IInstanceIDService.class, new InstanceIDService(getManager()));
this.registerServiceImplementation(IServiceNameService.class, new ServiceNameService(getManager()));
this.registerServiceImplementation(INetworkAddressIDService.class, new NetworkAddressIDService(getManager()));
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
+ @Override public void start() {
WorkerCreateListener workerCreateListener = new WorkerCreateListener();
graphCreate(workerCreateListener);
@@ -79,8 +89,7 @@ public class AnalysisRegisterModuleProvider extends ModuleProvider {
persistenceTimer.start(getManager(), workerCreateListener.getPersistenceWorkers());
}
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
+ @Override public void notifyAfterCompleted() {
}
@Override public String[] requiredModules() {
diff --git a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/AnalysisSegmentParserModuleConfig.java b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/AnalysisSegmentParserModuleConfig.java
new file mode 100644
index 000000000..c8c7886d2
--- /dev/null
+++ b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/AnalysisSegmentParserModuleConfig.java
@@ -0,0 +1,55 @@
+/*
+ * 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.apm.collector.analysis.segment.parser.provider;
+
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
+
+/**
+ * @author peng-yongsheng
+ */
+public class AnalysisSegmentParserModuleConfig extends ModuleConfig {
+
+ private String bufferFilePath;
+ private String bufferOffsetMaxFileSize;
+ private String bufferSegmentMaxFileSize;
+
+ public String getBufferFilePath() {
+ return bufferFilePath;
+ }
+
+ public void setBufferFilePath(String bufferFilePath) {
+ this.bufferFilePath = bufferFilePath;
+ }
+
+ public String getBufferOffsetMaxFileSize() {
+ return bufferOffsetMaxFileSize;
+ }
+
+ public void setBufferOffsetMaxFileSize(String bufferOffsetMaxFileSize) {
+ this.bufferOffsetMaxFileSize = bufferOffsetMaxFileSize;
+ }
+
+ public String getBufferSegmentMaxFileSize() {
+ return bufferSegmentMaxFileSize;
+ }
+
+ public void setBufferSegmentMaxFileSize(String bufferSegmentMaxFileSize) {
+ this.bufferSegmentMaxFileSize = bufferSegmentMaxFileSize;
+ }
+}
diff --git a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/AnalysisSegmentParserModuleProvider.java b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/AnalysisSegmentParserModuleProvider.java
index 5ae549869..d5cdbb851 100644
--- a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/AnalysisSegmentParserModuleProvider.java
+++ b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/AnalysisSegmentParserModuleProvider.java
@@ -18,7 +18,6 @@
package org.apache.skywalking.apm.collector.analysis.segment.parser.provider;
-import java.util.Properties;
import org.apache.skywalking.apm.collector.analysis.register.define.AnalysisRegisterModule;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.AnalysisSegmentParserModule;
import org.apache.skywalking.apm.collector.analysis.segment.parser.define.service.ISegmentParseService;
@@ -34,6 +33,7 @@ import org.apache.skywalking.apm.collector.analysis.worker.model.base.WorkerCrea
import org.apache.skywalking.apm.collector.analysis.worker.timer.PersistenceTimer;
import org.apache.skywalking.apm.collector.cache.CacheModule;
import org.apache.skywalking.apm.collector.core.module.Module;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfig;
import org.apache.skywalking.apm.collector.core.module.ModuleProvider;
import org.apache.skywalking.apm.collector.core.module.ServiceNotProvidedException;
import org.apache.skywalking.apm.collector.storage.StorageModule;
@@ -43,9 +43,15 @@ import org.apache.skywalking.apm.collector.storage.StorageModule;
*/
public class AnalysisSegmentParserModuleProvider extends ModuleProvider {
- public static final String NAME = "default";
+ private static final String NAME = "default";
+ private final AnalysisSegmentParserModuleConfig config;
private SegmentParserListenerManager listenerManager;
+ public AnalysisSegmentParserModuleProvider() {
+ super();
+ this.config = new AnalysisSegmentParserModuleConfig();
+ }
+
@Override public String name() {
return NAME;
}
@@ -54,7 +60,11 @@ public class AnalysisSegmentParserModuleProvider extends ModuleProvider {
return AnalysisSegmentParserModule.class;
}
- @Override public void prepare(Properties config) throws ServiceNotProvidedException {
+ @Override public ModuleConfig createConfigBeanIfAbsent() {
+ return config;
+ }
+
+ @Override public void prepare() throws ServiceNotProvidedException {
this.listenerManager = new SegmentParserListenerManager();
this.registerServiceImplementation(ISegmentParserListenerRegister.class, new SegmentParserListenerRegister(listenerManager));
this.registerServiceImplementation(ISegmentParseService.class, new SegmentParseService(getManager(), listenerManager));
@@ -63,7 +73,7 @@ public class AnalysisSegmentParserModuleProvider extends ModuleProvider {
parser.parse(config);
}
- @Override public void start(Properties config) throws ServiceNotProvidedException {
+ @Override public void start() {
WorkerCreateListener workerCreateListener = new WorkerCreateListener();
graphCreate(workerCreateListener);
@@ -74,12 +84,11 @@ public class AnalysisSegmentParserModuleProvider extends ModuleProvider {
SegmentBufferReader.INSTANCE.setSegmentParserListenerManager(listenerManager);
}
- @Override public void notifyAfterCompleted() throws ServiceNotProvidedException {
-
+ @Override public void notifyAfterCompleted() {
}
@Override public String[] requiredModules() {
- return new String[] {AnalysisRegisterModule.NAME, CacheModule.NAME, StorageModule.NAME};
+ return new String[] {StorageModule.NAME, AnalysisRegisterModule.NAME, CacheModule.NAME};
}
private void graphCreate(WorkerCreateListener workerCreateListener) {
diff --git a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/buffer/BufferFileConfig.java b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/buffer/BufferFileConfig.java
index 8ef63a8c3..8708e393e 100644
--- a/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/buffer/BufferFileConfig.java
+++ b/apm-collector/apm-collector-analysis/analysis-segment-parser/segment-parser-provider/src/main/java/org/apache/skywalking/apm/collector/analysis/segment/parser/provider/buffer/BufferFileConfig.java
@@ -16,10 +16,10 @@
*
*/
-
package org.apache.skywalking.apm.collector.analysis.segment.parser.provider.buffer;
-import java.util.Properties;
+import org.apache.skywalking.apm.collector.analysis.segment.parser.provider.AnalysisSegmentParserModuleConfig;
+import org.apache.skywalking.apm.collector.core.util.StringUtils;
/**
* @author peng-yongsheng
@@ -29,19 +29,15 @@ public class BufferFileConfig {
static int BUFFER_SEGMENT_MAX_FILE_SIZE = 10 * 1024 * 1024;
static String BUFFER_PATH = "../buffer/";
- private static final String BUFFER_PATH_KEY = "buffer_file_path";
- private static final String BUFFER_OFFSET_MAX_FILE_SIZE_KEY = "buffer_offset_max_file_size";
- private static final String BUFFER_SEGMENT_MAX_FILE_SIZE_KEY = "buffer_segment_max_file_size";
-
public static class Parser {
- public void parse(Properties config) {
- if (config.containsKey(BUFFER_PATH_KEY)) {
- BUFFER_PATH = config.getProperty(BUFFER_PATH_KEY);
+ public void parse(AnalysisSegmentParserModuleConfig config) {
+ if (StringUtils.isNotEmpty(config.getBufferFilePath())) {
+ BUFFER_PATH = config.getBufferFilePath();
}
- if (config.containsKey(BUFFER_OFFSET_MAX_FILE_SIZE_KEY)) {
- String sizeStr = config.getProperty(BUFFER_OFFSET_MAX_FILE_SIZE_KEY).toUpperCase();
+ if (StringUtils.isNotEmpty(config.getBufferOffsetMaxFileSize())) {
+ String sizeStr = config.getBufferOffsetMaxFileSize().toUpperCase();
if (sizeStr.endsWith("K")) {
int size = Integer.parseInt(sizeStr.replace("K", ""));
BUFFER_OFFSET_MAX_FILE_SIZE = size * 1024;
@@ -61,8 +57,8 @@ public class BufferFileConfig {
BUFFER_OFFSET_MAX_FILE_SIZE = 10 * 1024 * 1024;
}
- if (config.containsKey(BUFFER_SEGMENT_MAX_FILE_SIZE_KEY)) {
- String sizeStr = config.getProperty(BUFFER_SEGMENT_MAX_FILE_SIZE_KEY).toUpperCase();
+ if (StringUtils.isNotEmpty(config.getBufferSegmentMaxFileSize())) {
+ String sizeStr = config.getBufferSegmentMaxFileSize().toUpperCase();
if (sizeStr.endsWith("K")) {
int size = Integer.parseInt(sizeStr.replace("K", ""));
BUFFER_SEGMENT_MAX_FILE_SIZE = size * 1024;
diff --git a/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/CollectorBootStartUp.java b/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/CollectorBootStartUp.java
index 007e55b2c..f130f3188 100644
--- a/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/CollectorBootStartUp.java
+++ b/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/CollectorBootStartUp.java
@@ -21,6 +21,7 @@ package org.apache.skywalking.apm.collector.boot;
import org.apache.skywalking.apm.collector.boot.config.ApplicationConfigLoader;
import org.apache.skywalking.apm.collector.boot.config.ConfigFileNotFoundException;
import org.apache.skywalking.apm.collector.core.module.ApplicationConfiguration;
+import org.apache.skywalking.apm.collector.core.module.ModuleConfigException;
import org.apache.skywalking.apm.collector.core.module.ModuleManager;
import org.apache.skywalking.apm.collector.core.module.ModuleNotFoundException;
import org.apache.skywalking.apm.collector.core.module.ProviderNotFoundException;
@@ -41,7 +42,7 @@ public class CollectorBootStartUp {
try {
ApplicationConfiguration applicationConfiguration = configLoader.load();
manager.init(applicationConfiguration);
- } catch (ConfigFileNotFoundException | ModuleNotFoundException | ProviderNotFoundException | ServiceNotProvidedException e) {
+ } catch (ConfigFileNotFoundException | ModuleNotFoundException | ProviderNotFoundException | ServiceNotProvidedException | ModuleConfigException e) {
logger.error(e.getMessage(), e);
}
}
diff --git a/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/config/ApplicationConfigLoader.java b/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/config/ApplicationConfigLoader.java
index 479b10a2f..9f568d19d 100644
--- a/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/config/ApplicationConfigLoader.java
+++ b/apm-collector/apm-collector-boot/src/main/java/org/apache/skywalking/apm/collector/boot/config/ApplicationConfigLoader.java
@@ -20,10 +20,10 @@ package org.apache.skywalking.apm.collector.boot.config;
import java.io.FileNotFoundException;
import java.io.Reader;
-import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
import org.apache.skywalking.apm.collector.core.module.ApplicationConfiguration;
+import org.apache.skywalking.apm.collector.core.util.CollectionUtils;
import org.apache.skywalking.apm.collector.core.util.ResourceUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,67 +52,69 @@ public class ApplicationConfigLoader implements ConfigLoader>> moduleConfig = yaml.loadAs(applicationReader, Map.class);
- moduleConfig.forEach((moduleName, providerConfig) -> {
- if (providerConfig.size() > 0) {
- logger.info("Get a module define from application.yml, module name: {}", moduleName);
- ApplicationConfiguration.ModuleConfiguration moduleConfiguration = configuration.addModule(moduleName);
- providerConfig.forEach((name, propertiesConfig) -> {
- logger.info("Get a provider define belong to {} module, provider name: {}", moduleName, name);
- Properties properties = new Properties();
- if (propertiesConfig != null) {
- propertiesConfig.forEach((key, value) -> {
- properties.put(key, value);
- logger.info("The property with key: {}, value: {}, in {} provider", key, value, name);
- });
- }
- moduleConfiguration.addProviderConfiguration(name, properties);
- });
- } else {
- logger.warn("Get a module define from application.yml, but no provider define, use default, module name: {}", moduleName);
- }
- });
+ if (CollectionUtils.isNotEmpty(moduleConfig)) {
+ moduleConfig.forEach((moduleName, providerConfig) -> {
+ if (providerConfig.size() > 0) {
+ logger.info("Get a module define from application.yml, module name: {}", moduleName);
+ ApplicationConfiguration.ModuleConfiguration moduleConfiguration = configuration.addModule(moduleName);
+ providerConfig.forEach((name, propertiesConfig) -> {
+ logger.info("Get a provider define belong to {} module, provider name: {}", moduleName, name);
+ Properties properties = new Properties();
+ if (propertiesConfig != null) {
+ propertiesConfig.forEach((key, value) -> {
+ properties.put(key, value);
+ logger.info("The property with key: {}, value: {}, in {} provider", key, value, name);
+ });
+ }
+ moduleConfiguration.addProviderConfiguration(name, properties);
+ });
+ } else {
+ logger.warn("Get a module define from application.yml, but no provider define, use default, module name: {}", moduleName);
+ }
+ });
+ }
} catch (FileNotFoundException e) {
throw new ConfigFileNotFoundException(e.getMessage(), e);
}
}
+ @SuppressWarnings("unchecked")
private void loadDefaultConfig(ApplicationConfiguration configuration) throws ConfigFileNotFoundException {
try {
Reader applicationReader = ResourceUtils.read("application-default.yml");
Map>> moduleConfig = yaml.loadAs(applicationReader, Map.class);
- moduleConfig.forEach((moduleName, providerConfig) -> {
- if (!configuration.has(moduleName)) {
- logger.warn("The {} module did't define in application.yml, use default", moduleName);
- ApplicationConfiguration.ModuleConfiguration moduleConfiguration = configuration.addModule(moduleName);
- providerConfig.forEach((name, propertiesConfig) -> {
- Properties properties = new Properties();
- if (propertiesConfig != null) {
- propertiesConfig.forEach(properties::put);
- }
- moduleConfiguration.addProviderConfiguration(name, properties);
- });
- }
- });
+ if (CollectionUtils.isNotEmpty(moduleConfig)) {
+ moduleConfig.forEach((moduleName, providerConfig) -> {
+ if (!configuration.has(moduleName)) {
+ logger.warn("The {} module did't define in application.yml, use default", moduleName);
+ ApplicationConfiguration.ModuleConfiguration moduleConfiguration = configuration.addModule(moduleName);
+ providerConfig.forEach((name, propertiesConfig) -> {
+ Properties properties = new Properties();
+ if (propertiesConfig != null) {
+ propertiesConfig.forEach(properties::put);
+ }
+ moduleConfiguration.addProviderConfiguration(name, properties);
+ });
+ }
+ });
+ }
} catch (FileNotFoundException e) {
throw new ConfigFileNotFoundException(e.getMessage(), e);
}
}
private void overrideConfigBySystemEnv(ApplicationConfiguration configuration) {
- Iterator> entryIterator = System.getProperties().entrySet().iterator();
- while (entryIterator.hasNext()) {
- Map.Entry