org.springframework.util.concurrent包类图分析Spring4.1.7版本

本文解析了ListenableFuture接口及其相关类的设计与实现,包括SuccessCallback、FailureCallback等关键组件的作用和交互方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近给Eclipse装了个UML插件,我装的是AmaterasUML,稍后在附件给出,但是不一定正确。不喜勿喷 8)
这个插件可以方便的拖动JAVA文件,画出类图,这样方便分析JAVA类之间的关系


贴下包下面的类


[img]http://dl2.iteye.com/upload/attachment/0121/3224/46978f8e-eac9-3dc5-a25b-16f65aaffb97.png[/img]


下面一个一个分析

[list]
[*]FailureCallback定义了onFailure方法,当失败回调时用来接收ListenableFuture的结果。
[*]SuccessCallback定义了OnSuccess方法,当成功回调时用来接收ListenableFuture的结果。
[*]ListenableFutureCallback继承FailureCallback和SuccessCallback,当回调时用来接收ListenableFuture的结果。
[*]FutureAdapter抽象类,实现了java.util.concurrent.Future接口,适配Future参数化S给Future参数化T。所有的方法委托给受改造者(adaptee),get()和get(long,TimeUnit)将调用受改造者的结果。
[*]ListenableFuture是一个接口,继承了java.util.concurrent.Future接口。如果回调注册了且future已经完成,这是回调方法就会触发。
[*]ListenableFutureAdapter是一个抽象类,继承FutureAdapter,实现ListenableFuture接口,参考FutureAdapter。
[*]ListenableFutureTask是一个类,继承了java.util.concurrent.FutureTask类,实现了ListenableFuture接口,里面的方法通过ListenableFutureCallbackRegistry来实现
[*]SettableListenableFuture是一个类,实现了ListenableFuture接口。可以通过调用set(Object)和setException(Throwable)来设置一些属性,实际是内部静态类SettableTask实现java.util.concurrent.Callable接口来设置一些属性。ListenableFuture接口的两个方法通过ListenableFutureTask来实现
[*]ListenableFutureCallbackRegistry是一个类,里面定义了回调的策略,具体实现是通过队列来实现
[/list]


下面给出类图

[img]http://dl2.iteye.com/upload/attachment/0121/3226/ec810999-d184-3f94-8f4a-f19af2f48683.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0121/3228/25acdc00-1910-3611-a2aa-736e23b1df2d.png[/img]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值