Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
169640bd
S
SkyWalking
项目概览
apache
/
SkyWalking
上一次同步 1 年多
通知
302
Star
21345
Fork
6091
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
SkyWalking
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
169640bd
编写于
3月 12, 2021
作者:
Y
YyWang
提交者:
GitHub
3月 12, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
optimize moduleServiceLoader traversal logic (#6537)
Co-authored-by:
吴晟 Wu Sheng
<
wu.sheng@foxmail.com
>
上级
03b45d2f
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
8 addition
and
10 deletion
+8
-10
oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleManager.java
...e/skywalking/oap/server/library/module/ModuleManager.java
+8
-10
未找到文件。
oap-server/server-library/library-module/src/main/java/org/apache/skywalking/oap/server/library/module/ModuleManager.java
浏览文件 @
169640bd
...
...
@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.library.module;
import
java.util.Arrays
;
import
java.util.HashMap
;
import
java.util.
LinkedLis
t
;
import
java.util.
HashSe
t
;
import
java.util.Map
;
import
java.util.ServiceLoader
;
...
...
@@ -40,21 +40,19 @@ public class ModuleManager implements ModuleDefineHolder {
ServiceLoader
<
ModuleDefine
>
moduleServiceLoader
=
ServiceLoader
.
load
(
ModuleDefine
.
class
);
ServiceLoader
<
ModuleProvider
>
moduleProviderLoader
=
ServiceLoader
.
load
(
ModuleProvider
.
class
);
LinkedList
<
String
>
moduleList
=
new
LinkedLis
t
<>(
Arrays
.
asList
(
moduleNames
));
HashSet
<
String
>
moduleSet
=
new
HashSe
t
<>(
Arrays
.
asList
(
moduleNames
));
for
(
ModuleDefine
module
:
moduleServiceLoader
)
{
for
(
String
moduleName
:
moduleNames
)
{
if
(
moduleName
.
equals
(
module
.
name
()))
{
module
.
prepare
(
this
,
applicationConfiguration
.
getModuleConfiguration
(
moduleName
),
moduleProviderLoader
);
loadedModules
.
put
(
moduleName
,
module
);
moduleList
.
remove
(
moduleName
);
}
if
(
moduleSet
.
contains
(
module
.
name
()))
{
module
.
prepare
(
this
,
applicationConfiguration
.
getModuleConfiguration
(
module
.
name
()),
moduleProviderLoader
);
loadedModules
.
put
(
module
.
name
(),
module
);
moduleSet
.
remove
(
module
.
name
());
}
}
// Finish prepare stage
isInPrepareStage
=
false
;
if
(
module
Lis
t
.
size
()
>
0
)
{
throw
new
ModuleNotFoundException
(
module
Lis
t
.
toString
()
+
" missing."
);
if
(
module
Se
t
.
size
()
>
0
)
{
throw
new
ModuleNotFoundException
(
module
Se
t
.
toString
()
+
" missing."
);
}
BootstrapFlow
bootstrapFlow
=
new
BootstrapFlow
(
loadedModules
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录