- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用最新的快速修复版本,即 1.6.0。我已经有针对 1.5.3 编写的代码,我想做的是将其升级到 1.6.0
我遇到的问题是,当我使用破解(msg,sessionID)方法时,它会抛出quickfix.Message无法转换为quickfix.fix50sp2.Message
错误。我正在从 verifix 发送正确的 FIX50SP2 MarketDataSnapshotFullRefresh 消息。异常摘录如下
java.lang.ClassCastException:quickfix.Message 无法转换为quickfix.fix50sp2.Message
在quickfix.fix50sp2.MessageCracker.crack(MessageCracker.java:1555)
在 com.****.fixserver.FixMessageListener.fromApp(FixMessageListener.java:162)
在 fastfix.Session.fromCallback(Session.java:1731)
在quickfix.Session.verify(Session.java:1682)
如何将收到的消息破解为正确的SP2消息?
有一个crack50()方法,但是它需要一个SP2消息,而该消息在fromApp回调中不可用。
最佳答案
当开始字符串为 FIXT.1.1 时,quickfix 将使用 DefaultMessageFactory
将消息视为 FIX50。所以它会自动生成一条FIX.5.0消息。
解决方案是编写您自己的自定义消息工厂,以便在传输为 FIXT.1.1 时生成 SP2 消息。我就是这样做的。
编写一个实现 quickfix.MessageFactory
接口(interface)的自定义消息工厂。您可以复制 DefaultMessageFactory
代码并更改 create() 方法,如下所示。
public Message create(String beginString, String msgType) {
MessageFactory messageFactory = messageFactories.get(beginString);
if (beginString.equals(BEGINSTRING_FIXT11)) {
// The default message factory assumes that only FIX 5.0 will be
// used with FIXT 1.1 sessions. A more flexible approach will require
// an extension to the QF JNI API. Until then, you will need a custom
// message factory if you want to use application messages prior to
// FIX 5.0 with a FIXT 1.1 session.
//
// TODO: how do we support 50/50SP1/50SP2 concurrently?
//
// If you need to determine admin message category based on a data
// dictionary, then use a custom message factory and don't use the
// static method used below.
if (!MessageUtils.isAdminMessage(msgType)) {
messageFactory = messageFactories.get(FIX50SP2);
}
}
if (messageFactory != null) {
return messageFactory.create(beginString, msgType);
}
Message message = new Message();
message.getHeader().setString(MsgType.FIELD, msgType);
return message;
}
关于java - fastfix.Message 无法转换为quickfix.fix50sp2.Message,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30074850/
quickfix 中消息存储结构的目的是什么?我知道您可以通过消息存储接口(interface)记录所有传入和传出的修复消息,并且 quickfix 提供了多种实现,例如文件存储等。 我的问题是,除了
我目前在使用开源 QuickFix 引擎时遇到了一个奇怪的问题。我们的经纪商正在发送一些 MsgType = 8(执行报告)的测试交易,我们的 QuickFix 引擎立即回复异常,并显示“不支持的消息
QuickFIX/J 包含创建四个数据库表的 SQL 脚本: session 消息 messages_log 事件日志 我找不到任何描述每个表格用途的文档。 它们有什么用,什么时候写入,它们中的任何一
我们似乎无法使用 QuickFix 处理某些群组消息。 我正在尝试使用 QuickFix (C++) 建立与 ICE 交换的连接。我创建了一个自定义数据字典来处理 ICE 的非标准消息。要处理的第一条
一个Quickfix客户端使用 XML spec files 验证传入消息。如果消息验证失败,quickfix 会自动发送拒绝响应。 AFAIK 在这种情况下,quickfix 不会调用传入消息的标准
当我登录时,我正在发送一个应用程序消息请求 (BW) 并且服务器响应多种类型的消息,但是对于安全状态消息,它返回暂停原因异常。我有 2 个 onMessage 函数,这些用于安全定义报告和安全定义更新
我是 FIX 世界的新手。我正在用 Java 编写一个处理 FIX 消息的应用程序,为此我正在使用 QuickFIX/J。我已经从主页 (http://quickfixengine.org/) 下载了
我正在尝试决定使用哪个版本,希望收到有关此主题的任何反馈。最好能得到一些优缺点。 到目前为止我所做的研究是 quickfix/n 版本会运行得更快并且可能更容易实现,但似乎确实有一些 quickfix
我正在使用 QuickFIX/J版本 1.6.4 内 Apache Camel 2.17.0,我收到 session 消息 Disconnecting: Encountered END_OF_STRE
QuickFix/J 提供将其日志存储在数据库中的功能。 是否可以将另一列(业务 ID) append 到其中一个表,从而不会在 QuickFix/J 的内部消息记录中引起问题? 如果可能的话,也请提
QuickFIX 似乎没有日志轮换功能。有没有可能以某种方式做到这一点? 最佳答案 This post shows the rotation might have been released long
我是 FIX 技术的新手,正在开发 FIX 应用程序。每当我发送 NewOrderSingle消息,我收到一个错误。 我在 C# 中使用 QuickFix 引擎并创建 RequestPlaceOrde
我试图了解QuickFIX配置文件中的StartTime和EndTime设置。我正在使用QuickFIX .Net来实现买方FIX客户端(设置为启动器)。 默认情况下,StartTime和EndTim
我们的快速修复连接传入消息存在一些问题。我们使用字典是因为消息中存在重复组,但这意味着 QuickFix 对传入消息应用严格的验证。但我遇到了服务器在没有警告的情况下更改其消息格式的问题。传入消息突然
我正在构建一个重播日志的工具。手动解析日志很烦人,所以我想知道是否有一种方法可以简单地从日志中加载消息。 此外,我并不反对仅使用第三方重放工具(如果存在)。 最佳答案 首先以任何您想要的方式读取日志文
在与 QuickFix 库捆绑在一起的 FIX.4.4 数据字典 XML 中,某些字段似乎被标记为必填字段,而这些字段可能不应该符合 FIXimate 中描述的协议(protocol)规范。 例如:
FIX 协议(protocol)是否允许在消息和重复组中重复使用相同的标记? IE。我可以有类似的东西 ...
我有一个 FixMessage,我想手动计算校验和。 8=FIX.4.2|9=49|35=5|34=1|49=ARCA|52=20150916-04:14:05.306|56=TW|10=157| 这
FIX 协议(protocol)是否允许在消息和重复组中重复使用相同的标记? IE。我可以有类似的东西 ...
本文整理了Java中quickfix.field.XmlData类的一些代码示例,展示了XmlData类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是
我是一名优秀的程序员,十分优秀!