@@ -69,7 +69,7 @@ public class SentinelConfig { | |||||
String fileName = LogBase.getLogBaseDir() + appName + ".properties"; | String fileName = LogBase.getLogBaseDir() + appName + ".properties"; | ||||
File file = new File(fileName); | File file = new File(fileName); | ||||
if (file.exists()) { | if (file.exists()) { | ||||
RecordLog.info("read SentinelConfig from " + fileName); | |||||
RecordLog.info("[SentinelConfig] Reading config from " + fileName); | |||||
FileInputStream fis = new FileInputStream(fileName); | FileInputStream fis = new FileInputStream(fileName); | ||||
Properties fileProps = new Properties(); | Properties fileProps = new Properties(); | ||||
fileProps.load(fis); | fileProps.load(fis); | ||||
@@ -90,7 +90,7 @@ public class SentinelConfig { | |||||
String configValueOld = getConfig(configKey); | String configValueOld = getConfig(configKey); | ||||
SentinelConfig.setConfig(configKey, configValue); | SentinelConfig.setConfig(configKey, configValue); | ||||
if (configValueOld != null) { | if (configValueOld != null) { | ||||
RecordLog.info("JVM parameter overrides {0}: {1} -> {2}", configKey, configValueOld, configValue); | |||||
RecordLog.info("[SentinelConfig] JVM parameter overrides {0}: {1} -> {2}", configKey, configValueOld, configValue); | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -128,7 +128,7 @@ public class SentinelConfig { | |||||
try { | try { | ||||
return Long.parseLong(props.get(SINGLE_METRIC_FILE_SIZE)); | return Long.parseLong(props.get(SINGLE_METRIC_FILE_SIZE)); | ||||
} catch (Throwable throwable) { | } catch (Throwable throwable) { | ||||
RecordLog.info("SentinelConfig get singleMetricFileSize fail, use default value: " | |||||
RecordLog.info("[SentinelConfig] Parse singleMetricFileSize fail, use default value: " | |||||
+ DEFAULT_SINGLE_METRIC_FILE_SIZE, throwable); | + DEFAULT_SINGLE_METRIC_FILE_SIZE, throwable); | ||||
return DEFAULT_SINGLE_METRIC_FILE_SIZE; | return DEFAULT_SINGLE_METRIC_FILE_SIZE; | ||||
} | } | ||||
@@ -138,7 +138,7 @@ public class SentinelConfig { | |||||
try { | try { | ||||
return Integer.parseInt(props.get(TOTAL_METRIC_FILE_COUNT)); | return Integer.parseInt(props.get(TOTAL_METRIC_FILE_COUNT)); | ||||
} catch (Throwable throwable) { | } catch (Throwable throwable) { | ||||
RecordLog.info("SentinelConfig get totalMetricFileCount fail, use default value: " | |||||
RecordLog.info("[SentinelConfig] Parse totalMetricFileCount fail, use default value: " | |||||
+ DEFAULT_TOTAL_METRIC_FILE_COUNT, throwable); | + DEFAULT_TOTAL_METRIC_FILE_COUNT, throwable); | ||||
return DEFAULT_TOTAL_METRIC_FILE_COUNT; | return DEFAULT_TOTAL_METRIC_FILE_COUNT; | ||||
} | } | ||||
@@ -32,7 +32,6 @@ public class CommandCenterLog extends LogBase { | |||||
logHandler = makeLogger(FILE_NAME, heliumRecordLog); | logHandler = makeLogger(FILE_NAME, heliumRecordLog); | ||||
} | } | ||||
public static void info(String detail, Object... params) { | public static void info(String detail, Object... params) { | ||||
log(heliumRecordLog, logHandler, Level.INFO, detail, params); | log(heliumRecordLog, logHandler, Level.INFO, detail, params); | ||||
} | } | ||||
@@ -18,19 +18,22 @@ package com.alibaba.csp.sentinel.util; | |||||
import com.alibaba.csp.sentinel.log.RecordLog; | import com.alibaba.csp.sentinel.log.RecordLog; | ||||
/** | /** | ||||
* Get Sentinel version from MANIFEST.MF | |||||
* Get version of Sentinel from {@code MANIFEST.MF} file. | |||||
* | * | ||||
* @author jason | * @author jason | ||||
* @since 0.2.1 | * @since 0.2.1 | ||||
*/ | */ | ||||
public class VersionUtil { | |||||
public final class VersionUtil { | |||||
public static String getVersion(String defaultVersion) { | public static String getVersion(String defaultVersion) { | ||||
try { | try { | ||||
String version = VersionUtil.class.getPackage().getImplementationVersion(); | String version = VersionUtil.class.getPackage().getImplementationVersion(); | ||||
return version == null || version.length() == 0 ? defaultVersion : version; | |||||
return StringUtil.isBlank(version) ? defaultVersion : version; | |||||
} catch (Throwable e) { | } catch (Throwable e) { | ||||
RecordLog.warn("return default version, ignore exception", e); | |||||
RecordLog.warn("Using default version, ignore exception", e); | |||||
return defaultVersion; | return defaultVersion; | ||||
} | } | ||||
} | } | ||||
private VersionUtil() {} | |||||
} | } |
@@ -1,15 +1,30 @@ | |||||
/* | |||||
* Copyright 1999-2018 Alibaba Group Holding Ltd. | |||||
* | |||||
* Licensed 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 com.alibaba.csp.sentinel.util; | package com.alibaba.csp.sentinel.util; | ||||
import org.junit.Assert; | import org.junit.Assert; | ||||
import org.junit.Test; | import org.junit.Test; | ||||
public class VersionUtilTest { | public class VersionUtilTest { | ||||
@Test | @Test | ||||
public void versionTest() { | |||||
String version = VersionUtil.getVersion("1.0"); | |||||
/** | |||||
* manifest cannot be load before package | |||||
*/ | |||||
Assert.assertEquals("1.0", version); | |||||
public void testGetDefaultVersion() { | |||||
String defaultVersion = "1.0"; | |||||
String version = VersionUtil.getVersion(defaultVersion); | |||||
// Manifest cannot be load before package. | |||||
Assert.assertEquals(defaultVersion, version); | |||||
} | } | ||||
} | } |
@@ -62,6 +62,7 @@ public final class HttpServer { | |||||
port = Integer.parseInt(TransportConfig.getPort()); | port = Integer.parseInt(TransportConfig.getPort()); | ||||
} | } | ||||
} catch (Exception e) { | } catch (Exception e) { | ||||
// Will cause the application exit. | |||||
throw new IllegalArgumentException("Illegal port: " + TransportConfig.getPort()); | throw new IllegalArgumentException("Illegal port: " + TransportConfig.getPort()); | ||||
} | } | ||||
@@ -73,10 +74,11 @@ public final class HttpServer { | |||||
try { | try { | ||||
channelFuture = b.bind(newPort).sync(); | channelFuture = b.bind(newPort).sync(); | ||||
TransportConfig.setRuntimePort(newPort); | TransportConfig.setRuntimePort(newPort); | ||||
CommandCenterLog.info("[NettyHttpCommandCenter] Begin listening at port " + newPort); | |||||
break; | break; | ||||
} catch (Exception e) { | } catch (Exception e) { | ||||
TimeUnit.MILLISECONDS.sleep(30); | TimeUnit.MILLISECONDS.sleep(30); | ||||
RecordLog.warn("netty server bind error, port={0}, retry={1}", newPort, retryCount); | |||||
RecordLog.warn("[HttpServer] Netty server bind error, port={0}, retry={1}", newPort, retryCount); | |||||
retryCount ++; | retryCount ++; | ||||
} | } | ||||
} | } | ||||
@@ -89,11 +91,11 @@ public final class HttpServer { | |||||
} | } | ||||
/** | /** | ||||
* increase port number every 3 tries | |||||
* Increase port number every 3 tries. | |||||
* | * | ||||
* @param basePort | |||||
* @param retryCount | |||||
* @return | |||||
* @param basePort base port to start | |||||
* @param retryCount retry count | |||||
* @return next calculated port | |||||
*/ | */ | ||||
private int getNewPort(int basePort, int retryCount) { | private int getNewPort(int basePort, int retryCount) { | ||||
return basePort + retryCount / 3; | return basePort + retryCount / 3; | ||||
@@ -109,7 +111,7 @@ public final class HttpServer { | |||||
} | } | ||||
if (handlerMap.containsKey(commandName)) { | if (handlerMap.containsKey(commandName)) { | ||||
CommandCenterLog.info("Register failed (duplicate command): " + commandName); | |||||
CommandCenterLog.warn("[NettyHttpCommandCenter] Register failed (duplicate command): " + commandName); | |||||
return; | return; | ||||
} | } | ||||
@@ -121,12 +121,11 @@ public class SimpleHttpCommandCenter implements CommandCenter { | |||||
} | } | ||||
/** | /** | ||||
* Get a server socket from an avaliable port from a base port.<br> | |||||
* Increasement on port number will happen when the port has already been | |||||
* used.<br> | |||||
* Get a server socket from an available port from a base port.<br> | |||||
* Increasing on port number will occur when the port has already been used. | |||||
* | * | ||||
* @param basePort | |||||
* @return | |||||
* @param basePort base port to start | |||||
* @return new socket with available port | |||||
*/ | */ | ||||
private static ServerSocket getServerSocketFromBasePort(int basePort) { | private static ServerSocket getServerSocketFromBasePort(int basePort) { | ||||
int tryCount = 0; | int tryCount = 0; | ||||
@@ -229,7 +228,7 @@ public class SimpleHttpCommandCenter implements CommandCenter { | |||||
} | } | ||||
if (handlerMap.containsKey(commandName)) { | if (handlerMap.containsKey(commandName)) { | ||||
CommandCenterLog.info("Register failed (duplicate command): " + commandName); | |||||
CommandCenterLog.warn("Register failed (duplicate command): " + commandName); | |||||
return; | return; | ||||
} | } | ||||