我正在 quickfixj 上开发
尝试在 QuoteRequest 消息的标头中设置 SenderSubID 字段。
我使用以下代码:
QuoteRequest msg = new QuoteRequest();
msg.getHeader().set(new SenderSubID(myid));
这是最好的方法还是有更好的方法来做到这一点?谢谢
我正在 quickfixj 上开发
尝试在 QuoteRequest 消息的标头中设置 SenderSubID 字段。
我使用以下代码:
QuoteRequest msg = new QuoteRequest();
msg.getHeader().set(new SenderSubID(myid));
这是最好的方法还是有更好的方法来做到这一点?谢谢
我不确定是否getHeader()
允许您使用set()
. 如果是,请使用它。否则只需使用setField()
.
Message.set()
大多数时候是向消息添加新字段的最安全方法,因为编译器会阻止您添加不属于特定 MsgType 的字段(基于 FIX xx 规范)。
请参阅此在线文档以了解 QuickfixJ。将为您省去很多麻烦。
从getHeader()返回的Header类不支持 set 函数。但有 2 套功能可以为您工作。
setString
更灵活,但您可以添加 FIX 标准不支持的字段,这些字段将在稍后阶段被客户端拒绝。
setField
创建消息的最安全方法是在您尝试在消息中添加不存在的字段时产生错误。但这可能不是一个万无一失的方法,如果您正在使用 QuickfixJ 用来检查消息中存在/不存在的字段的 xml 文件。