如何独立管理和重新加载多个 QuickFIX/J 会话?
How to manage and reload multiple QuickFIX/J sessions independently?
我可以在一个 QuickFIX/J 设置文件中配置多个会话,然后用一个 SocketInitiator
启动它们。但我希望能够修改一个或多个会话的配置,然后只重新启动这些会话而不影响任何其他会话。
我可以通过拥有多个设置文件并在每个会话中使用一个 SocketInitiator
来做到这一点。但似乎 QuickFIX/J 不打算以这种方式使用。它会给我带来任何问题吗?
每个会话启动一个 Initiator
是完全没问题的。这是一个品味问题。在任何情况下:每个会话单独 Initiator
是独立的,不会影响其他会话。
如果您想使用单个 Initiator
的方法,那么您可以尝试通过 createDynamicSession()
/removeDynamicSession()
动态地 add/remove 会话。不过还有一些手工工作。
- 找到您要重新加载的
Session
。 logout()
和 close()
它。
- 为
Session
打电话 removeDynamicSession()
。
- 获取要从 运行
Initiator
重新加载的 SessionID
的设置。通过 removeSetting()
. 从 运行 Initiator
中删除这些
- 然后从设置文件中重新加载所需
Session
的设置,并将它们放入 Initiator
的设置。
- 然后为
SessionID
调用 createDynamicSession()
我可以在一个 QuickFIX/J 设置文件中配置多个会话,然后用一个 SocketInitiator
启动它们。但我希望能够修改一个或多个会话的配置,然后只重新启动这些会话而不影响任何其他会话。
我可以通过拥有多个设置文件并在每个会话中使用一个 SocketInitiator
来做到这一点。但似乎 QuickFIX/J 不打算以这种方式使用。它会给我带来任何问题吗?
每个会话启动一个 Initiator
是完全没问题的。这是一个品味问题。在任何情况下:每个会话单独 Initiator
是独立的,不会影响其他会话。
如果您想使用单个 Initiator
的方法,那么您可以尝试通过 createDynamicSession()
/removeDynamicSession()
动态地 add/remove 会话。不过还有一些手工工作。
- 找到您要重新加载的
Session
。logout()
和close()
它。 - 为
Session
打电话removeDynamicSession()
。 - 获取要从 运行
Initiator
重新加载的SessionID
的设置。通过removeSetting()
. 从 运行 - 然后从设置文件中重新加载所需
Session
的设置,并将它们放入Initiator
的设置。 - 然后为
SessionID
调用
Initiator
中删除这些
createDynamicSession()