Support the Chinese in config properties (#1288)

This commit is contained in:
Xin,Zhang 2018-05-30 19:52:42 +08:00 committed by 吴晟 Wu Sheng
parent b8dcf26928
commit 7cf67ffa60
2 changed files with 32 additions and 3 deletions

View File

@ -0,0 +1,25 @@
/*
* 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.agent.core.conf;
public class ConfigReadFailedException extends Exception {
public ConfigReadFailedException(String message, Throwable parent) {
super(message, parent);
}
}

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
@ -53,7 +55,7 @@ public class SnifferConfigInitializer {
* At the end, `agent.application_code` and `collector.servers` must be not blank.
*/
public static void initialize() throws ConfigNotFoundException, AgentPackageNotFoundException {
InputStream configFileStream;
InputStreamReader configFileStream;
try {
configFileStream = loadConfigFromAgentFolder();
@ -115,15 +117,17 @@ public class SnifferConfigInitializer {
*
* @return the config file {@link InputStream}, or null if not needEnhance.
*/
private static InputStream loadConfigFromAgentFolder() throws AgentPackageNotFoundException, ConfigNotFoundException {
private static InputStreamReader loadConfigFromAgentFolder() throws AgentPackageNotFoundException, ConfigNotFoundException, ConfigReadFailedException {
File configFile = new File(AgentPackagePath.getPath(), CONFIG_FILE_NAME);
if (configFile.exists() && configFile.isFile()) {
try {
logger.info("Config file found in {}.", configFile);
return new FileInputStream(configFile);
return new InputStreamReader(new FileInputStream(configFile), "UTF-8");
} catch (FileNotFoundException e) {
throw new ConfigNotFoundException("Fail to load agent.config", e);
} catch (UnsupportedEncodingException e) {
throw new ConfigReadFailedException("Fail to load agent.config", e);
}
}
throw new ConfigNotFoundException("Fail to load agent config file.");