Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wrr-cat
apollo
提交
612f1967
apollo
项目概览
wrr-cat
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
612f1967
编写于
7月 21, 2018
作者:
J
Jason Song
提交者:
GitHub
7月 21, 2018
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #1274 from nobodyiam/config-local-cache-dir
local cache dir customizable
上级
87c65bfe
ba135814
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
55 addition
and
1 deletion
+55
-1
apollo-client/src/main/java/com/ctrip/framework/apollo/util/ConfigUtil.java
...main/java/com/ctrip/framework/apollo/util/ConfigUtil.java
+19
-1
apollo-client/src/test/java/com/ctrip/framework/apollo/util/ConfigUtilTest.java
.../java/com/ctrip/framework/apollo/util/ConfigUtilTest.java
+36
-0
未找到文件。
apollo-client/src/main/java/com/ctrip/framework/apollo/util/ConfigUtil.java
浏览文件 @
612f1967
package
com.ctrip.framework.apollo.util
;
import
java.io.File
;
import
java.util.concurrent.TimeUnit
;
import
org.slf4j.Logger
;
...
...
@@ -206,10 +207,27 @@ public class ConfigUtil {
}
public
String
getDefaultLocalCacheDir
()
{
String
cacheRoot
=
isOSWindows
()
?
"C:\\opt\\data\\%s"
:
"/opt/data/%s"
;
String
cacheRoot
=
getCustomizedCacheRoot
();
if
(!
Strings
.
isNullOrEmpty
(
cacheRoot
))
{
return
cacheRoot
+
File
.
separator
+
getAppId
();
}
cacheRoot
=
isOSWindows
()
?
"C:\\opt\\data\\%s"
:
"/opt/data/%s"
;
return
String
.
format
(
cacheRoot
,
getAppId
());
}
private
String
getCustomizedCacheRoot
()
{
// 1. Get from System Property
String
cacheRoot
=
System
.
getProperty
(
"apollo.cacheDir"
);
if
(
Strings
.
isNullOrEmpty
(
cacheRoot
))
{
// 2. Get from server.properties
cacheRoot
=
Foundation
.
server
().
getProperty
(
"apollo.cacheDir"
,
null
);
}
return
cacheRoot
;
}
public
boolean
isInLocalMode
()
{
try
{
Env
env
=
getApolloEnv
();
...
...
apollo-client/src/test/java/com/ctrip/framework/apollo/util/ConfigUtilTest.java
浏览文件 @
612f1967
...
...
@@ -2,10 +2,14 @@ package com.ctrip.framework.apollo.util;
import
com.ctrip.framework.apollo.core.ConfigConsts
;
import
java.io.File
;
import
org.junit.After
;
import
org.junit.Test
;
import
static
org
.
junit
.
Assert
.*;
import
static
org
.
mockito
.
Mockito
.
doReturn
;
import
static
org
.
mockito
.
Mockito
.
spy
;
import
static
org
.
mockito
.
Mockito
.
when
;
/**
* @author Jason Song(song_s@ctrip.com)
...
...
@@ -22,6 +26,7 @@ public class ConfigUtilTest {
System
.
clearProperty
(
"apollo.configCacheSize"
);
System
.
clearProperty
(
"apollo.longPollingInitialDelayInMills"
);
System
.
clearProperty
(
"apollo.autoUpdateInjectedSpringProperties"
);
System
.
clearProperty
(
"apollo.cacheDir"
);
}
@Test
...
...
@@ -185,4 +190,35 @@ public class ConfigUtilTest {
assertEquals
(
someAutoUpdateInjectedSpringProperties
,
configUtil
.
isAutoUpdateInjectedSpringPropertiesEnabled
());
}
@Test
public
void
testLocalCacheDirWithSystemProperty
()
throws
Exception
{
String
someCacheDir
=
"someCacheDir"
;
String
someAppId
=
"someAppId"
;
System
.
setProperty
(
"apollo.cacheDir"
,
someCacheDir
);
ConfigUtil
configUtil
=
spy
(
new
ConfigUtil
());
doReturn
(
someAppId
).
when
(
configUtil
).
getAppId
();
assertEquals
(
someCacheDir
+
File
.
separator
+
someAppId
,
configUtil
.
getDefaultLocalCacheDir
());
}
@Test
public
void
testDefaultLocalCacheDir
()
throws
Exception
{
String
someAppId
=
"someAppId"
;
ConfigUtil
configUtil
=
spy
(
new
ConfigUtil
());
doReturn
(
someAppId
).
when
(
configUtil
).
getAppId
();
doReturn
(
true
).
when
(
configUtil
).
isOSWindows
();
assertEquals
(
"C:\\opt\\data\\"
+
someAppId
,
configUtil
.
getDefaultLocalCacheDir
());
doReturn
(
false
).
when
(
configUtil
).
isOSWindows
();
assertEquals
(
"/opt/data/"
+
someAppId
,
configUtil
.
getDefaultLocalCacheDir
());
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录