Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
apache
SkyWalking
提交
9c829a57
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,发现更多精彩内容 >>
提交
9c829a57
编写于
10月 27, 2017
作者:
P
peng-yongsheng
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add naming module jetty implement.
上级
e7f613ee
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
52 addition
and
7 deletion
+52
-7
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java
...java/org/skywalking/apm/collector/core/module/Module.java
+10
-2
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java
.../skywalking/apm/collector/core/module/ModuleProvider.java
+7
-3
apm-collector/apm-collector-naming/collector-naming-jetty-provider/pom.xml
...-collector-naming/collector-naming-jetty-provider/pom.xml
+5
-0
apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java
...apm/collector/naming/jetty/NamingModuleJettyProvider.java
+30
-2
未找到文件。
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/Module.java
浏览文件 @
9c829a57
...
...
@@ -103,7 +103,7 @@ public abstract class Module {
/**
* @return providers of this module
*/
public
final
List
<
ModuleProvider
>
providers
()
throws
ProviderNotFoundException
{
final
List
<
ModuleProvider
>
providers
()
throws
ProviderNotFoundException
{
if
(
loadedProviders
.
size
()
==
0
)
{
throw
new
ProviderNotFoundException
(
"no provider exists."
);
}
...
...
@@ -111,7 +111,7 @@ public abstract class Module {
return
loadedProviders
;
}
public
final
ModuleProvider
provider
()
throws
ProviderNotFoundException
,
DuplicateProviderException
{
final
ModuleProvider
provider
()
throws
ProviderNotFoundException
,
DuplicateProviderException
{
if
(
loadedProviders
.
size
()
==
0
)
{
throw
new
ProviderNotFoundException
(
"no provider exists."
);
}
else
if
(
loadedProviders
.
size
()
>
1
)
{
...
...
@@ -120,4 +120,12 @@ public abstract class Module {
return
loadedProviders
.
getFirst
();
}
public
<
T
extends
Service
>
T
getService
(
Class
<
T
>
serviceType
)
throws
ServiceNotProvidedException
{
try
{
return
provider
().
getService
(
serviceType
);
}
catch
(
ProviderNotFoundException
|
DuplicateProviderException
e
)
{
throw
new
ServiceNotProvidedException
(
e
.
getMessage
());
}
}
}
apm-collector/apm-collector-core/src/main/java/org/skywalking/apm/collector/core/module/ModuleProvider.java
浏览文件 @
9c829a57
...
...
@@ -31,8 +31,8 @@ import org.skywalking.apm.collector.core.module.instrument.ServiceInstrumentatio
* @author wu-sheng, peng-yongsheng
*/
public
abstract
class
ModuleProvider
{
pr
otected
ModuleManager
manager
;
pr
otected
Module
module
;
pr
ivate
ModuleManager
manager
;
pr
ivate
Module
module
;
private
Map
<
Class
<?
extends
Service
>,
Service
>
services
=
new
HashMap
<>();
public
ModuleProvider
()
{
...
...
@@ -46,6 +46,10 @@ public abstract class ModuleProvider {
this
.
module
=
module
;
}
protected
ModuleManager
getManager
()
{
return
manager
;
}
/**
* @return the name of this provider.
*/
...
...
@@ -121,7 +125,7 @@ public abstract class ModuleProvider {
}
}
public
<
T
extends
Service
>
T
getService
(
Class
<
T
>
serviceType
)
throws
ServiceNotProvidedException
{
<
T
extends
Service
>
T
getService
(
Class
<
T
>
serviceType
)
throws
ServiceNotProvidedException
{
Service
serviceImpl
=
services
.
get
(
serviceType
);
if
(
serviceImpl
!=
null
)
{
return
(
T
)
serviceImpl
;
...
...
apm-collector/apm-collector-naming/collector-naming-jetty-provider/pom.xml
浏览文件 @
9c829a57
...
...
@@ -41,6 +41,11 @@
<artifactId>
collector-cluster-define
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.skywalking
</groupId>
<artifactId>
collector-server-manager-define
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.skywalking
</groupId>
<artifactId>
server-component
</artifactId>
...
...
apm-collector/apm-collector-naming/collector-naming-jetty-provider/src/main/java/org/skywalking/apm/collector/naming/jetty/NamingModuleJettyProvider.java
浏览文件 @
9c829a57
...
...
@@ -21,17 +21,29 @@ package org.skywalking.apm.collector.naming.jetty;
import
java.util.Properties
;
import
org.skywalking.apm.collector.cluster.ClusterModule
;
import
org.skywalking.apm.collector.core.module.Module
;
import
org.skywalking.apm.collector.core.module.ModuleNotFoundException
;
import
org.skywalking.apm.collector.core.module.ModuleProvider
;
import
org.skywalking.apm.collector.core.module.ServiceNotProvidedException
;
import
org.skywalking.apm.collector.naming.NamingModule
;
import
org.skywalking.apm.collector.naming.jetty.handler.AgentGRPCNamingHandler
;
import
org.skywalking.apm.collector.naming.jetty.handler.AgentJettyNamingHandler
;
import
org.skywalking.apm.collector.naming.jetty.handler.UIJettyNamingHandler
;
import
org.skywalking.apm.collector.server.Server
;
import
org.skywalking.apm.collector.server.manager.ServerManagerModule
;
import
org.skywalking.apm.collector.server.manager.service.JettyServerConfig
;
import
org.skywalking.apm.collector.server.manager.service.JettyServerManagerService
;
/**
* @author peng-yongsheng
*/
public
class
NamingModuleJettyProvider
extends
ModuleProvider
{
private
static
final
String
HOST
=
"host"
;
private
static
final
String
PORT
=
"port"
;
private
static
final
String
CONTEXT_PATH
=
"context_path"
;
@Override
public
String
name
()
{
return
"
j
etty"
;
return
"
J
etty"
;
}
@Override
public
Class
<?
extends
Module
>
module
()
{
...
...
@@ -39,6 +51,22 @@ public class NamingModuleJettyProvider extends ModuleProvider {
}
@Override
public
void
prepare
(
Properties
config
)
throws
ServiceNotProvidedException
{
String
host
=
config
.
getProperty
(
HOST
);
String
port
=
config
.
getProperty
(
PORT
);
String
contextPath
=
config
.
getProperty
(
CONTEXT_PATH
);
JettyServerConfig
serverConfig
=
new
JettyServerConfig
(
host
,
Integer
.
valueOf
(
port
),
contextPath
);
try
{
JettyServerManagerService
managerService
=
getManager
().
find
(
ServerManagerModule
.
NAME
).
getService
(
JettyServerManagerService
.
class
);
Server
jettyServer
=
managerService
.
getElseCreateServer
(
serverConfig
);
jettyServer
.
addHandler
(
new
AgentGRPCNamingHandler
());
jettyServer
.
addHandler
(
new
AgentJettyNamingHandler
());
jettyServer
.
addHandler
(
new
UIJettyNamingHandler
());
// ModuleRegistrationGetService registrationGetService = getManager().find(ClusterModule.NAME).getService(ModuleRegistrationGetService.class);
}
catch
(
ModuleNotFoundException
e
)
{
throw
new
ServiceNotProvidedException
(
e
.
getMessage
());
}
}
@Override
public
void
start
(
Properties
config
)
throws
ServiceNotProvidedException
{
...
...
@@ -50,6 +78,6 @@ public class NamingModuleJettyProvider extends ModuleProvider {
}
@Override
public
String
[]
requiredModules
()
{
return
new
String
[]
{
ClusterModule
.
NAME
};
return
new
String
[]
{
ServerManagerModule
.
NAME
,
ClusterModule
.
NAME
};
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录