本系列力求手把手教你怎样利用 QuickFix Java 搭建自己的 FIX 协议收法平台,以及其中的注意事项。
所有源码的地址(免费):
https://github.com/zongzhec/QuickFixPractise
这节我们讨论怎么搭建Acceptor端。
5. Acceptor端的搭建
Acceptor,也可以称作为 Server,就是一个集中处理的交易机器。客户端从各地发来交易或者行情请求后,由这些服务器端接收,并进一步送给决策端进行验证、决策,并由此服务器返回相应的结果。针对上节说到的常用消息类型,相对应的回复类型为:
- 行情请求(35=V)——行情报价回复(35=W);
- 新建订单(35=D)——订单回复(35=8)
- 撤销订单(35=F)——订单回复(35=8)或者拒绝(35=9)
通过上节,我们知道客户端的搭建需要两个类,一个类负责初始化、启动和关停服务;另一个类负责服务,即收发消息。这里其实也一毛一样,就是名字和相关配置略有区别。第一个类起名叫FixAcceptor,第二个类叫FixAcceptorApplication。
结构框架如下:详细的在这里:https://github.com/zongzhec/QuickFixPractise/tree/master/FixAcceptor
5.1. Property设置
设置跟客户端的差不多,但是一定要记住仔细区别客户端的设置,因为有的可以改,但是有的是固定格式甚至固定字段,改写之后会让程序找不到相应的配置。
#quickfix-server.properties
[default]
# 这些字段记得改成你的设置
FileStorePath=fileStore
SocketAcceptAddress=10.176.125.79
SocketAcceptPort=10003
SenderCompID=QUICKFIX_ACCEPTOR
# 以下字段可以不改
ConnectionType=acceptor
HeartBtInt=30
#ReconnectInterval=10
FileLogPath=log
DataDictionary=src/main/resources/FIX44.modified.xml
ContinueInitializationOnError=Y
BeginString=FIX.4.4
StartTime=00:00:00
EndTime=23:00:00
ResetOnLogon=Y
ResetSeqNumFlag=Y
MaxMessagesInResendRequest=1
SocketReuseAddress=Y
UseDataDictionary=Y
[session]
TargetCompID=QUICKFIX_INITIATOR1
[session]
TargetCompID=QUICKFIX_I