fix-protocol - 如何为每个会话设置不同的“ResetOnLogon”?
问题描述
我正在使用 QuickFixJ lib 实现通过 Fix 协议进行集成的应用程序。
将与服务提供商进行两次会议。一是需要ResetOnLogon=Y
,二是ResetOnLogon=N
。
我试过这个配置:
[default]
FileStorePath=target/data/barxfx
BeginString=FIX.4.2
ConnectionType=initiator
SocketConnectHost=123.123.123.123
StartTime=00:00:00
EndTime=00:00:00
HeartBtInt=120
ReconnectInterval=120
TimeStampPrecision=SECONDS
[session]
SenderCompID=A-PRICES-TEST
TargetCompID=B-PRICES-TEST
SocketConnectPort=62345
ResetOnLogon=Y
ResetOnDisconnect=Y
[session]
SenderCompID=A-TRADES-TEST
TargetCompID=B-TRADES-TEST
SocketConnectPort=62346
ResetOnLogon=N
ResetOnDisconnect=N
初始化代码:
InputStream inputStream = getClass().getResourceAsStream("/testfix.cfg");
SessionSettings settings = new SessionSettings(inputStream);
inputStream.close();
Application application = new QuickFixApplication();
MessageStoreFactory messageStoreFactory = new FileStoreFactory(settings);
LogFactory logFactory = new SLF4JLogFactory(settings);
MessageFactory messageFactory = new quickfix.fix42.MessageFactory();
SocketInitiator initiator = new SocketInitiator(application, messageStoreFactory, settings, logFactory, messageFactory);
initiator.start();
但它不起作用 - 因为ResetOnLogon
被列表中的最后一个会话覆盖,并且此设置用于两个会话。
任何想法如何自定义ResetOnLogon
每个会话?
解决方案
推荐阅读
- python - 如何使用 Python 在 Selenium 中解决元素不可点击的问题
- database - Docker 和 Mongo 上的 Cocorico 问题
- excel - Countifs:需要计算某个范围内给定日期前 12 个月的单元格数
- c# - 当我尝试使用 .Include() 进行预加载时,EF Core 会延迟加载
- javascript - 如何放大 iframe 中的文本?
- javascript - 在方法中使用 Vue.js 数据属性而不将其作为参数传递是错误的吗?
- java - 如何正确使用 Spring Data 中的保存方法?
- python - 如何修复'元素
- python-3.x - 保留字典列表中的某些日期
- typescript - response.body.getReader 不是函数