diff --git a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/SnifferConfigInitializer.java b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/SnifferConfigInitializer.java
index b7ed19db3..9d8d9602d 100644
--- a/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/SnifferConfigInitializer.java
+++ b/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/conf/SnifferConfigInitializer.java
@@ -18,6 +18,7 @@
package org.apache.skywalking.apm.agent.core.conf;
+import java.nio.charset.StandardCharsets;
import org.apache.skywalking.apm.agent.core.boot.AgentPackageNotFoundException;
import org.apache.skywalking.apm.agent.core.boot.AgentPackagePath;
import org.apache.skywalking.apm.agent.core.logging.api.ILog;
@@ -36,9 +37,9 @@ import java.util.*;
*/
public class SnifferConfigInitializer {
private static final ILog logger = LogManager.getLogger(SnifferConfigInitializer.class);
- private static String SPECIFIED_CONFIG_PATH = "skywalking_config";
- private static String DEFAULT_CONFIG_FILE_NAME = "/config/agent.config";
- private static String ENV_KEY_PREFIX = "skywalking.";
+ private static final String SPECIFIED_CONFIG_PATH = "skywalking_config";
+ private static final String DEFAULT_CONFIG_FILE_NAME = "/config/agent.config";
+ private static final String ENV_KEY_PREFIX = "skywalking.";
private static boolean IS_INIT_COMPLETED = false;
/**
@@ -52,16 +53,12 @@ public class SnifferConfigInitializer {
*
* At the end, `agent.service_name` and `collector.servers` must not be blank.
*/
- public static void initialize(String agentOptions) throws ConfigNotFoundException, AgentPackageNotFoundException {
- InputStreamReader configFileStream;
-
- try {
- configFileStream = loadConfig();
+ public static void initialize(String agentOptions) {
+ try (final InputStreamReader configFileStream = loadConfig()) {
Properties properties = new Properties();
properties.load(configFileStream);
for (String key : properties.stringPropertyNames()) {
String value = (String)properties.get(key);
- //replace the key's value. properties.replace(key,value) in jdk8+
properties.put(key, PropertyPlaceholderHelper.INSTANCE.replacePlaceholders(value, properties));
}
ConfigInitializer.initialize(properties, Config.class);
@@ -114,8 +111,8 @@ public class SnifferConfigInitializer {
}
private static List> parseAgentOptions(String agentOptions) {
- List> options = new ArrayList>();
- List terms = new ArrayList();
+ List> options = new ArrayList<>();
+ List terms = new ArrayList<>();
boolean isInQuotes = false;
StringBuilder currentTerm = new StringBuilder();
for (char c : agentOptions.toCharArray()) {
@@ -129,7 +126,7 @@ public class SnifferConfigInitializer {
currentTerm = new StringBuilder();
options.add(terms);
- terms = new ArrayList();
+ terms = new ArrayList<>();
} else {
currentTerm.append(c);
}
@@ -154,9 +151,7 @@ public class SnifferConfigInitializer {
private static void overrideConfigBySystemProp() throws IllegalAccessException {
Properties properties = new Properties();
Properties systemProperties = System.getProperties();
- Iterator> entryIterator = systemProperties.entrySet().iterator();
- while (entryIterator.hasNext()) {
- Map.Entry