2.Utm-模块设计
详细图:
Qtm:Qtm是Utm的核心,是一个队列线程模型,提供一个任务队列,可以往其中添加任务,qtm会调用线程池中的线程去依次处理这个队列中的任务,有点类似于java原生的BolkingQueue,为什么不是使用BolkingQueue:相对来说qtm提供了更适应这个需求的封装和为以后预留了更好的扩展的空间。
用户资源的管理:提供了用户生命流程中的各个重要点的切面,让开发者可以很清晰的看到资源的申请和回收,也可以更好的管理自己定义的用户资源。
事件管理器:提供用户事件管理,异常事件管理,等事件,默认实现里面包含了这些事件的简单实现,可以根据需要继承并重写。
CMD处理器:在utm中用户请求、用户登录、用户退出、用户断线都被封装成一个cmd请求(每个用户请求都包含两部分内容:1.cmd(所要请求的处理器名) 2.请求参数)。Utm提供了基本的用户生命流程事件,并处理了其中相关的流程逻辑,我们只需要专注于处理各个事件中的业务逻辑;我们可以根据需要定义自己的cmd处理器。
过滤器:用户请求的过滤器,提供两个实现:1. 直接调用qtm处理用户请求,2. 用户请求过于频繁过滤器(默认)
来源:oschina
链接:https://my.oschina.net/u/2688755/blog/648322