QuickFix/J: 登出时发送消息
QuickFix/J: Sending message when logged out
QuickFix/J 文档中的 This page 提出以下声明:
Sessions exist whether or not a counter party is connected to it. As soon as a session is created, you can begin sending messages to it. If no one is logged on, the messages will be sent at the time a connection is established with the counterparty.
我一直在通过以下步骤测试此行为:
- 初始化一个新的 QuickFix 会话正常连接
- 中断与远程服务器的连接,使会话注销。
- 通过
Session.sendToTarget()
发送消息
- 允许 QuickFix 恢复连接(因此会话发生登录)
据我所知,邮件从未发送过。
通过代码调试,我在收到toApp()
回调后不久就点击了this line。据我所知,只有在 isLoggedOn()
为真时才会发送消息。如果它不是真的(如此处),则不会采取任何替代措施。
我对上面引用的文档的期望是 QuickFix/J 应该以某种方式在内部对消息进行排队,以便在恢复会话时发送消息。两个问题:
- 这个解释正确吗?
- 如果是这样,这是在哪里以及如何实施的?
这里是我的连接参数供参考:
[DEFAULT]
ConnectionType=initiator
LogonTimeout=60
ReconnectInterval=30
FileStorePath= ...
HeartBtInt=30
StartTime=22:15:00
EndTime=21:55:00
UseDataDictionary=Y
[SESSION]
BeginString=FIX.4.4
SenderCompID= ...
TargetCompID= ...
PersistMessages=Y
ResetOnLogon=Y
SessionQualifier= ...
SocketConnectHost= ...
SocketConnectPort= ...
Username= ...
Password= ...
DataDictionary=config/dict/fix44.xml
非常感谢
好的,消息队列逻辑现在可以正常工作了。问题是 ResetOnLogon=Y
可能会弄乱序列号增量。
This page 提出以下声明:
Sessions exist whether or not a counter party is connected to it. As soon as a session is created, you can begin sending messages to it. If no one is logged on, the messages will be sent at the time a connection is established with the counterparty.
我一直在通过以下步骤测试此行为:
- 初始化一个新的 QuickFix 会话正常连接
- 中断与远程服务器的连接,使会话注销。
- 通过
Session.sendToTarget()
发送消息
- 允许 QuickFix 恢复连接(因此会话发生登录)
据我所知,邮件从未发送过。
通过代码调试,我在收到toApp()
回调后不久就点击了this line。据我所知,只有在 isLoggedOn()
为真时才会发送消息。如果它不是真的(如此处),则不会采取任何替代措施。
我对上面引用的文档的期望是 QuickFix/J 应该以某种方式在内部对消息进行排队,以便在恢复会话时发送消息。两个问题:
- 这个解释正确吗?
- 如果是这样,这是在哪里以及如何实施的?
这里是我的连接参数供参考:
[DEFAULT]
ConnectionType=initiator
LogonTimeout=60
ReconnectInterval=30
FileStorePath= ...
HeartBtInt=30
StartTime=22:15:00
EndTime=21:55:00
UseDataDictionary=Y
[SESSION]
BeginString=FIX.4.4
SenderCompID= ...
TargetCompID= ...
PersistMessages=Y
ResetOnLogon=Y
SessionQualifier= ...
SocketConnectHost= ...
SocketConnectPort= ...
Username= ...
Password= ...
DataDictionary=config/dict/fix44.xml
非常感谢
好的,消息队列逻辑现在可以正常工作了。问题是 ResetOnLogon=Y
可能会弄乱序列号增量。