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

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


贴下包下面的类






下面一个一个分析

  • 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是一个类,里面定义了回调的策略,具体实现是通过队列来实现



下面给出类图













猜你喜欢

转载自liyghting.iteye.com/blog/2338593
今日推荐