Commit 215ebc70 authored by HuangSheng's avatar HuangSheng Committed by nobodyiam

增加localCacheDir本地缓存配置路径可配置项

parent 87c65bfe
......@@ -65,7 +65,7 @@ public class LocalFileConfigRepository extends AbstractConfigRepository
private File findLocalCacheDir() {
try {
String defaultCacheDir = m_configUtil.getDefaultLocalCacheDir();
String defaultCacheDir = m_configUtil.getLocalCacheDir();
Path path = Paths.get(defaultCacheDir);
if (!Files.exists(path)) {
Files.createDirectories(path);
......
package com.ctrip.framework.apollo.util;
import java.io.File;
import java.util.concurrent.TimeUnit;
import org.slf4j.Logger;
......@@ -34,6 +35,7 @@ public class ConfigUtil {
private TimeUnit configCacheExpireTimeUnit = TimeUnit.MINUTES;//1 minute
private long longPollingInitialDelayInMills = 2000;//2 seconds
private boolean autoUpdateInjectedSpringProperties = true;
private String localCacheDir = this.getDefaultLocalCacheDir();
public ConfigUtil() {
initRefreshInterval();
......@@ -44,6 +46,7 @@ public class ConfigUtil {
initMaxConfigCacheSize();
initLongPollingInitialDelayInMills();
initAutoUpdateInjectedSpringProperties();
initLocalCacheDir();
}
/**
......@@ -205,11 +208,27 @@ public class ConfigUtil {
return onErrorRetryIntervalTimeUnit;
}
public String getDefaultLocalCacheDir() {
private String getDefaultLocalCacheDir() {
String cacheRoot = isOSWindows() ? "C:\\opt\\data\\%s" : "/opt/data/%s";
return String.format(cacheRoot, getAppId());
}
private void initLocalCacheDir() {
// 1. Get from System Property
String cacheRoot = System.getProperty("apollo.localCacheDir");
if (Strings.isNullOrEmpty(cacheRoot)) {
// 2. Get from app.properties
cacheRoot = Foundation.app().getProperty("apollo.localCacheDir", null);
}
if (!Strings.isNullOrEmpty(cacheRoot)) {
this.localCacheDir = String.format(cacheRoot + File.separator + "%s", getAppId());
}
}
public String getLocalCacheDir() {
return this.localCacheDir;
}
public boolean isInLocalMode() {
try {
Env env = getApolloEnv();
......
......@@ -178,7 +178,7 @@ public abstract class BaseIntegrationTest{
}
@Override
public String getDefaultLocalCacheDir() {
public String getLocalCacheDir() {
return ClassLoaderUtil.getClassPath();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment