Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
superrain51
apollo
提交
998bcf75
apollo
项目概览
superrain51
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
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,发现更多精彩内容 >>
提交
998bcf75
编写于
1月 22, 2017
作者:
J
Jason Song
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
optimize ConfigService.getConfig performance
上级
7e2e1d0b
变更
13
隐藏空白更改
内联
并排
Showing
13 changed file
with
63 addition
and
38 deletion
+63
-38
apollo-adminservice/pom.xml
apollo-adminservice/pom.xml
+1
-1
apollo-assembly/pom.xml
apollo-assembly/pom.xml
+1
-1
apollo-biz/pom.xml
apollo-biz/pom.xml
+1
-1
apollo-buildtools/pom.xml
apollo-buildtools/pom.xml
+1
-1
apollo-client/README.md
apollo-client/README.md
+1
-1
apollo-client/pom.xml
apollo-client/pom.xml
+1
-1
apollo-client/src/main/java/com/ctrip/framework/apollo/ConfigService.java
...c/main/java/com/ctrip/framework/apollo/ConfigService.java
+51
-26
apollo-common/pom.xml
apollo-common/pom.xml
+1
-1
apollo-configservice/pom.xml
apollo-configservice/pom.xml
+1
-1
apollo-core/pom.xml
apollo-core/pom.xml
+1
-1
apollo-demo/pom.xml
apollo-demo/pom.xml
+1
-1
apollo-portal/pom.xml
apollo-portal/pom.xml
+1
-1
pom.xml
pom.xml
+1
-1
未找到文件。
apollo-adminservice/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
apollo-assembly/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
apollo-biz/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<artifactId>
apollo
</artifactId>
<groupId>
com.ctrip.framework.apollo
</groupId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
apollo-biz
</artifactId>
...
...
apollo-buildtools/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
apollo-client/README.md
浏览文件 @
998bcf75
...
...
@@ -88,7 +88,7 @@ If you need this functionality, you could specify the cluster as follows:
<dependency>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo-client
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
</dependency>
## III. Client Usage
...
...
apollo-client/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
apollo-client/src/main/java/com/ctrip/framework/apollo/ConfigService.java
浏览文件 @
998bcf75
...
...
@@ -14,19 +14,59 @@ import org.unidal.lookup.ContainerLoader;
/**
* Entry point for client config use
*
* @author Jason Song(song_s@ctrip.com)
*/
public
class
ConfigService
{
private
static
final
ConfigService
s_instance
=
new
ConfigService
();
private
PlexusContainer
m_container
;
private
ConfigManager
m_configManager
;
private
ConfigRegistry
m_configRegistry
;
private
ConfigService
()
{
m_container
=
ContainerLoader
.
getDefaultContainer
();
}
private
ConfigManager
getManager
()
{
if
(
m_configManager
==
null
)
{
synchronized
(
this
)
{
if
(
m_configManager
==
null
)
{
try
{
m_configManager
=
m_container
.
lookup
(
ConfigManager
.
class
);
}
catch
(
ComponentLookupException
ex
)
{
ApolloConfigException
exception
=
new
ApolloConfigException
(
"Unable to load ConfigManager!"
,
ex
);
Tracer
.
logError
(
exception
);
throw
exception
;
}
}
}
}
return
m_configManager
;
}
private
ConfigRegistry
getRegistry
()
{
if
(
m_configRegistry
==
null
)
{
synchronized
(
this
)
{
if
(
m_configRegistry
==
null
)
{
try
{
m_configRegistry
=
m_container
.
lookup
(
ConfigRegistry
.
class
);
}
catch
(
ComponentLookupException
ex
)
{
ApolloConfigException
exception
=
new
ApolloConfigException
(
"Unable to load ConfigRegistry!"
,
ex
);
Tracer
.
logError
(
exception
);
throw
exception
;
}
}
}
}
return
m_configRegistry
;
}
/**
* Get Application's config instance.
*
* @return config instance
*/
public
static
Config
getAppConfig
()
{
...
...
@@ -35,35 +75,16 @@ public class ConfigService {
/**
* Get the config instance for the namespace.
*
* @param namespace the namespace of the config
* @return config instance
*/
public
static
Config
getConfig
(
String
namespace
)
{
return
getManager
().
getConfig
(
namespace
);
return
s_instance
.
getManager
().
getConfig
(
namespace
);
}
public
static
ConfigFile
getConfigFile
(
String
namespace
,
ConfigFileFormat
configFileFormat
)
{
return
getManager
().
getConfigFile
(
namespace
,
configFileFormat
);
}
private
static
ConfigManager
getManager
()
{
try
{
return
s_instance
.
m_container
.
lookup
(
ConfigManager
.
class
);
}
catch
(
ComponentLookupException
ex
)
{
ApolloConfigException
exception
=
new
ApolloConfigException
(
"Unable to load ConfigManager!"
,
ex
);
Tracer
.
logError
(
exception
);
throw
exception
;
}
}
private
static
ConfigRegistry
getRegistry
()
{
try
{
return
s_instance
.
m_container
.
lookup
(
ConfigRegistry
.
class
);
}
catch
(
ComponentLookupException
ex
)
{
ApolloConfigException
exception
=
new
ApolloConfigException
(
"Unable to load ConfigRegistry!"
,
ex
);
Tracer
.
logError
(
exception
);
throw
exception
;
}
return
s_instance
.
getManager
().
getConfigFile
(
namespace
,
configFileFormat
);
}
static
void
setConfig
(
Config
config
)
{
...
...
@@ -72,11 +93,12 @@ public class ConfigService {
/**
* Manually set the config for the namespace specified, use with caution.
*
* @param namespace the namespace
* @param config the config instance
* @param config
the config instance
*/
static
void
setConfig
(
String
namespace
,
final
Config
config
)
{
getRegistry
().
register
(
namespace
,
new
ConfigFactory
()
{
s_instance
.
getRegistry
().
register
(
namespace
,
new
ConfigFactory
()
{
@Override
public
Config
create
(
String
namespace
)
{
return
config
;
...
...
@@ -96,15 +118,18 @@ public class ConfigService {
/**
* Manually set the config factory for the namespace specified, use with caution.
*
* @param namespace the namespace
* @param factory the factory instance
* @param factory
the factory instance
*/
static
void
setConfigFactory
(
String
namespace
,
ConfigFactory
factory
)
{
getRegistry
().
register
(
namespace
,
factory
);
s_instance
.
getRegistry
().
register
(
namespace
,
factory
);
}
// for test only
static
void
setContainer
(
PlexusContainer
m_container
)
{
s_instance
.
m_container
=
m_container
;
s_instance
.
m_configManager
=
null
;
s_instance
.
m_configRegistry
=
null
;
}
}
apollo-common/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
apollo-configservice/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
apollo-core/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
apollo-demo/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<artifactId>
apollo
</artifactId>
<groupId>
com.ctrip.framework.apollo
</groupId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
</parent>
<modelVersion>
4.0.0
</modelVersion>
<artifactId>
apollo-demo
</artifactId>
...
...
apollo-portal/pom.xml
浏览文件 @
998bcf75
...
...
@@ -4,7 +4,7 @@
<parent>
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<relativePath>
../pom.xml
</relativePath>
</parent>
<modelVersion>
4.0.0
</modelVersion>
...
...
pom.xml
浏览文件 @
998bcf75
...
...
@@ -10,7 +10,7 @@
<groupId>
com.ctrip.framework.apollo
</groupId>
<artifactId>
apollo
</artifactId>
<version>
0.4.
0
</version>
<version>
0.4.
1
</version>
<name>
Apollo
</name>
<packaging>
pom
</packaging>
<description>
Ctrip Configuration Center
</description>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录