Otter源代码解析(七)

全部文档索引:

Otter源代码解析(一): http://eyuxu.iteye.com/blog/1941894

Otter源代码解析(二) : http://eyuxu.iteye.com/blog/1942518

Otter源代码解析(三): http://eyuxu.iteye.com/blog/1942519

Otter源代码解析(四): http://eyuxu.iteye.com/blog/1942521

Otter源代码解析(五): http://eyuxu.iteye.com/blog/1942522

Otter源代码解析(六): http://eyuxu.iteye.com/blog/1942549

Otter源代码解析(七): http://eyuxu.iteye.com/blog/1942578

Otter源代码解析(八): http://eyuxu.iteye.com/blog/1942780

Otter源代码解析(九): http://eyuxu.iteye.com/blog/1942786

本节讲述Extract过程:

该过程的结构如下:

 

 注意这里的OtterExtractorFactory与OtterExtractor并不是选择一个合适的Extractor处理,而是搭建成一个职责链(但设计上并不完全是,个人觉得设计成职责链更合适一些),每个Extractor顺序处理。其中的DatabaseExtractor由于会做数据库反查会比较耗时,所以内部使用线程池做了并发优化。 因而做成一个池化的对象(池化的说明参见最开始的解释),所以并不是单例的Bean。其他的Extractor都是单例的。

请原谅,水平有限,暂时还没弄懂GroupExtractor是做什么用的,搞清楚之后会更新文档。

猜你喜欢

转载自eyuxu.iteye.com/blog/1942578