Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
zhangjian1949
apollo
提交
2b14a3df
apollo
项目概览
zhangjian1949
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
3
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,发现更多精彩内容 >>
提交
2b14a3df
编写于
5月 03, 2020
作者:
WMS
提交者:
Jason Song
5月 03, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[修改]针对配置未发布场景取消重试和mockhttputil异常与业务实现保持一致
上级
aa184a2e
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
20 addition
and
1 deletion
+20
-1
apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigRepository.java
...ip/framework/apollo/internals/RemoteConfigRepository.java
+4
-0
apollo-client/src/test/java/com/ctrip/framework/apollo/internals/RemoteConfigRepositoryTest.java
...ramework/apollo/internals/RemoteConfigRepositoryTest.java
+16
-1
未找到文件。
apollo-client/src/main/java/com/ctrip/framework/apollo/internals/RemoteConfigRepository.java
浏览文件 @
2b14a3df
...
...
@@ -182,6 +182,7 @@ public class RemoteConfigRepository extends AbstractConfigRepository {
List
<
ServiceDTO
>
configServices
=
getConfigServices
();
String
url
=
null
;
retryLoopLabel:
for
(
int
i
=
0
;
i
<
maxRetries
;
i
++)
{
List
<
ServiceDTO
>
randomConfigServices
=
Lists
.
newLinkedList
(
configServices
);
Collections
.
shuffle
(
randomConfigServices
);
...
...
@@ -249,6 +250,9 @@ public class RemoteConfigRepository extends AbstractConfigRepository {
Tracer
.
logEvent
(
"ApolloConfigException"
,
ExceptionUtil
.
getDetailMessage
(
statusCodeException
));
transaction
.
setStatus
(
statusCodeException
);
exception
=
statusCodeException
;
if
(
ex
.
getStatusCode
()
==
404
)
{
break
retryLoopLabel
;
}
}
catch
(
Throwable
ex
)
{
Tracer
.
logEvent
(
"ApolloConfigException"
,
ExceptionUtil
.
getDetailMessage
(
ex
));
transaction
.
setStatus
(
ex
);
...
...
apollo-client/src/test/java/com/ctrip/framework/apollo/internals/RemoteConfigRepositoryTest.java
浏览文件 @
2b14a3df
...
...
@@ -22,6 +22,7 @@ import com.ctrip.framework.apollo.core.dto.ServiceDTO;
import
com.ctrip.framework.apollo.core.signature.Signature
;
import
com.ctrip.framework.apollo.enums.ConfigSourceType
;
import
com.ctrip.framework.apollo.exceptions.ApolloConfigException
;
import
com.ctrip.framework.apollo.exceptions.ApolloConfigStatusCodeException
;
import
com.ctrip.framework.apollo.util.ConfigUtil
;
import
com.ctrip.framework.apollo.util.OrderedProperties
;
import
com.ctrip.framework.apollo.util.factory.PropertiesFactory
;
...
...
@@ -208,6 +209,19 @@ public class RemoteConfigRepositoryTest {
remoteConfigRepository
.
getConfig
();
}
@Test
(
expected
=
ApolloConfigException
.
class
)
public
void
testGetRemoteConfigWithNotFount
()
throws
Exception
{
when
(
someResponse
.
getStatusCode
()).
thenReturn
(
404
);
RemoteConfigRepository
remoteConfigRepository
=
new
RemoteConfigRepository
(
someNamespace
);
//must stop the long polling before exception occurred
remoteConfigLongPollService
.
stopLongPollingRefresh
();
remoteConfigRepository
.
getConfig
();
}
@Test
public
void
testRepositoryChangeListener
()
throws
Exception
{
Map
<
String
,
String
>
configurations
=
ImmutableMap
.
of
(
"someKey"
,
"someValue"
);
...
...
@@ -394,7 +408,8 @@ public class RemoteConfigRepositoryTest {
if
(
someResponse
.
getStatusCode
()
==
200
||
someResponse
.
getStatusCode
()
==
304
)
{
return
(
HttpResponse
<
T
>)
someResponse
;
}
throw
new
ApolloConfigException
(
String
.
format
(
"Http request failed due to status code: %d"
,
throw
new
ApolloConfigStatusCodeException
(
someResponse
.
getStatusCode
(),
String
.
format
(
"Http request failed due to status code: %d"
,
someResponse
.
getStatusCode
()));
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录