`
guibin
  • 浏览: 363731 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

QuickFix/J 源代码研究(四)

阅读更多
QuickFix/J 源代码研究(四)
guibin.beijing@gmail.com

(四). QuickFix/J总体逻辑架构
1. QuickFix/J是以Initiator为核心,如下图所示

上图中各个模块的关系:
处于核心位置的是Initiator,具体如图上表示的一系列继承关系构成,正是Initiator将QuickFix/J的大多数的核心功能组合在一起,成为一个整体。而各个核心组件之间的关系非常松散,多数都可以由XXXFactory生成。Initiator由大约6核心个组件组成,分别是处理消息的EventHandlerStrategy,存储配置的SessionSettings,存储所有session的容器sessions,存储所有IoSessionInitiator的容器ioInitiators,SessionFactory,以及QuickFix/J客户端的“发动机”SessionTimerTask。SessionTimerTask在启动Initiator时触发,并持续一直运行,直到被取消运行为止,它定时检查Session中所有状态并做相关操作,细节请参考QuickFix/J 源代码研究(一)中的A-5。

2. IoSessionInitiator的结构:
下图描述的是容器ioInitiators中每个元素IoSessionInitiator的结构:

这里有QuickFix/J中的另一台“发动机”ConnectTask,它通过Mina的底层IoConnector得到网络中的数据事件,触发IoHandler中的processMessage,逐层回调到用户,并驱动整个客户单Initiator工作。细节请参考QuickFix/J 源代码研究(一)中的A-6和B。

Guibin
2011-01-09
  • 大小: 64.9 KB
  • 大小: 30.2 KB
1
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics