Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
touzizhuo03
Dubbo
提交
f03232ec
D
Dubbo
项目概览
touzizhuo03
/
Dubbo
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dubbo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
f03232ec
编写于
6月 03, 2018
作者:
Y
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
同步精尽 Dubbo 源码解析
上级
6cd742f7
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
95 addition
and
6 deletion
+95
-6
README.md
README.md
+72
-0
dubbo-demo/dubbo-demo-consumer/src/main/java/com/alibaba/dubbo/demo/consumer/Consumer.java
...c/main/java/com/alibaba/dubbo/demo/consumer/Consumer.java
+1
-2
dubbo-demo/dubbo-demo-consumer/src/main/java/com/alibaba/dubbo/demo/consumer/filter/DemoFilter2.java
...a/com/alibaba/dubbo/demo/consumer/filter/DemoFilter2.java
+14
-0
dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter
...ain/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter
+1
-0
dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/spring/dubbo-demo-consumer.xml
...rc/main/resources/META-INF/spring/dubbo-demo-consumer.xml
+1
-1
dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/Provider.java
...c/main/java/com/alibaba/dubbo/demo/provider/Provider.java
+1
-1
dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/filter/DemoFilter.java
...va/com/alibaba/dubbo/demo/provider/filter/DemoFilter.java
+4
-1
dubbo-rpc/dubbo-rpc-default/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ThreadPoolStatusChecker.java
...bo/rpc/protocol/dubbo/status/ThreadPoolStatusChecker.java
+1
-1
未找到文件。
README.md
浏览文件 @
f03232ec
...
...
@@ -20,3 +20,75 @@ We are now collecting dubbo user info in order to help us to improve dubbo bette
*
[
Dubbo user manual
](
http://dubbo.io/books/dubbo-user-book/
)
*
[
Dubbo developer guide
](
http://dubbo.io/books/dubbo-dev-book/
)
*
[
Dubbo admin manual
](
http://dubbo.io/books/dubbo-admin-book/
)
## 精尽 Dubbo 源码解析
*
[
《精尽 Dubbo 源码分析 —— 调试环境搭建》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 项目结构一览》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— API 配置(一)之应用》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— API 配置(二)之服务提供者》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— API 配置(三)之服务消费者》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 属性配置》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— XML 配置》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 核心流程一览》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 拓展机制 SPI》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 线程池》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务暴露(一)之本地暴露(Injvm)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务暴露(二)之远程暴露(Dubbo)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务引用(一)之本地引用(Injvm)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务引用(二)之远程引用(Dubbo)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— Zookeeper 客户端》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 注册中心(一)之抽象 API》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 注册中心(二)之 Zookeeper》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 注册中心(三)之 Redis》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 动态编译(一)之 Javassist》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 动态代理(一)之 Javassist》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 动态代理(二)之 JDK》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 动态代理(三)之本地存根 Stub》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(一)之本地调用(Injvm)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(二)之远程调用(Dubbo)【1】通信实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(二)之远程调用(Dubbo)【2】同步调用》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(三)之远程调用(Dubbo)【3】异步调用》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(三)之远程调用(HTTP)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(四)之远程调用(Hessian)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(五)之远程调用(WebService)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(六)之远程调用(REST)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(七)之远程调用(WebService)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(八)之远程调用(Redis)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务调用(九)之远程调用(Memcached)》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 调用特性(一)之回声测试》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 调用特性(二)之泛化引用》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 调用特性(二)之泛化实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(一)之 ClassLoaderFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(二)之 ContextFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(三)之 AccessLogFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(四)之 ActiveLimitFilter && ExecuteLimitFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(五)之 TimeoutFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(六)之 DeprecatedFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(七)之 ExceptionFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(八)之 TokenFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(九)之 TpsLimitFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(十)之 CacheFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 过滤器(十一)之 ValidationFilter》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— NIO 服务器(一)之抽象 API》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— NIO 服务器(二)之 Transport 层》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— NIO 服务器(三)之 Telnet 层》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— NIO 服务器(四)之 Exchange 层》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— NIO 服务器(五)之 Buffer 层》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— NIO 服务器(六)之 Netty4 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— NIO 服务器(七)之 Netty3 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— HTTP 服务器》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 序列化(一)之总体实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 序列化(二)之 Dubbo 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 序列化(三)之 Kryo 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码分析 —— 服务容器》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(一)之抽象 API》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(二)之 Cluster 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(三)之 Directory 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(四)之 LoadBalance 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(五)之 Merger 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(六)之 Configurator 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(七)之 Router 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 集群容错(八)之 Mock 实现》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 优雅停机》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
*
[
《精尽 Dubbo 源码解析 —— 日志适配》
](
http://www.iocoder.cn/Dubbo/good-collection?github&1610
)
\ No newline at end of file
dubbo-demo/dubbo-demo-consumer/src/main/java/com/alibaba/dubbo/demo/consumer/Consumer.java
浏览文件 @
f03232ec
...
...
@@ -16,7 +16,6 @@
*/
package
com.alibaba.dubbo.demo.consumer
;
import
com.alibaba.dubbo.config.ProtocolConfig
;
import
com.alibaba.dubbo.demo.DemoService
;
import
org.springframework.context.support.ClassPathXmlApplicationContext
;
...
...
@@ -48,7 +47,7 @@ public class Consumer {
// ((EchoService) demoService).$echo("test4u");
demoService
.
sayHello
(
"world"
);
ProtocolConfig
.
destroyAll
();
//
ProtocolConfig.destroyAll();
Thread
.
sleep
(
10000000
);
// demoService.say02();
...
...
dubbo-demo/dubbo-demo-consumer/src/main/java/com/alibaba/dubbo/demo/consumer/filter/DemoFilter2.java
0 → 100644
浏览文件 @
f03232ec
package
com.alibaba.dubbo.demo.consumer.filter
;
import
com.alibaba.dubbo.rpc.*
;
public
class
DemoFilter2
implements
Filter
{
@Override
public
Result
invoke
(
Invoker
<?>
invoker
,
Invocation
invocation
)
throws
RpcException
{
Result
result
=
invoker
.
invoke
(
invocation
);
result
.
getAttachments
().
put
(
"hh"
,
"hhhh"
);
return
result
;
}
}
dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter
0 → 100644
浏览文件 @
f03232ec
demo2=com.alibaba.dubbo.demo.consumer.filter.DemoFilter2
\ No newline at end of file
dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/spring/dubbo-demo-consumer.xml
浏览文件 @
f03232ec
...
...
@@ -37,7 +37,7 @@ limitations under the License.
<!-- generate proxy for the remote service, then demoService can be used in the same way as the
local regular interface -->
<dubbo:reference
id=
"demoService"
group=
"g1"
check=
"true"
interface=
"com.alibaba.dubbo.demo.DemoService"
client=
"netty4"
timeout=
"10000"
callbacks=
"1000"
registry=
"zk01"
>
client=
"netty4"
timeout=
"10000"
callbacks=
"1000"
registry=
"zk01"
filter=
"demo2"
>
<!--<dubbo:method name="sayHello" />-->
<!--url="registry://127.0.0.1:2181?registry=zookeeper;127.0.0.1:2181;127.0.0.1:27018"-->
...
...
dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/Provider.java
浏览文件 @
f03232ec
...
...
@@ -28,7 +28,7 @@ public class Provider {
ClassPathXmlApplicationContext
context
=
new
ClassPathXmlApplicationContext
(
new
String
[]{
"META-INF/spring/dubbo-demo-provider.xml"
});
context
.
start
();
ProtocolConfig
.
destroyAll
();
//
ProtocolConfig.destroyAll();
System
.
in
.
read
();
// press any key to exit
}
...
...
dubbo-demo/dubbo-demo-provider/src/main/java/com/alibaba/dubbo/demo/provider/filter/DemoFilter.java
浏览文件 @
f03232ec
...
...
@@ -9,7 +9,10 @@ public class DemoFilter implements Filter {
@Override
public
Result
invoke
(
Invoker
<?>
invoker
,
Invocation
invocation
)
throws
RpcException
{
return
invoker
.
invoke
(
invocation
);
Result
result
=
invoker
.
invoke
(
invocation
);
System
.
out
.
println
(
result
.
getAttachments
());
result
.
getAttachments
().
put
(
"hh"
,
"hhhh"
);
return
result
;
}
public
DemoFilter
setDemoDAO
(
DemoDAO
demoDAO
)
{
...
...
dubbo-rpc/dubbo-rpc-default/src/main/java/com/alibaba/dubbo/rpc/protocol/dubbo/status/ThreadPoolStatusChecker.java
浏览文件 @
f03232ec
...
...
@@ -43,7 +43,7 @@ public class ThreadPoolStatusChecker implements StatusChecker {
String
port
=
entry
.
getKey
();
ExecutorService
executor
=
(
ExecutorService
)
entry
.
getValue
();
if
(
executor
!=
null
&&
executor
instanceof
ThreadPoolExecutor
)
{
if
(
executor
instanceof
ThreadPoolExecutor
)
{
ThreadPoolExecutor
tp
=
(
ThreadPoolExecutor
)
executor
;
boolean
ok
=
tp
.
getActiveCount
()
<
tp
.
getMaximumPoolSize
()
-
1
;
Status
.
Level
lvl
=
Status
.
Level
.
OK
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录