Quickfixj - 不支持的消息类型 -​​ 执行报告 - Fix50 SP2

问题描述

当有人向我发送执行报告时,我看到以下消息:

8=FIXT.1.19=9735=j34=349=XXXXXX52=20210204-10:42:00.29356=XXXXXX45=158=不支持的消息类型372=8380=310=178

我希望通过我的应用程序的以下方法之一接收消息:

@MessageCracker.Handler
 public void onMessage50SP2(quickfix.fix50sp2.ExecutionReport message,SessionId sid){
      //do something
}

@MessageCracker.Handler
 public void onMessage50SP1(quickfix.fix50sp1.ExecutionReport message,SessionId sid){
      //do something
}

@MessageCracker.Handler
 public void onMessage50SP(quickfix.fix50.ExecutionReport message,SessionId sid){
      //do something
}

但似乎这些方法都没有捕获执行报告(35=8)消息。我正在使用 quickfixj 2.1.0 我在这里做错了什么?!

谢谢。

解决方法

我想通了。我不得不添加另一种方法:

 @MessageCracker.Handler
 public void onMessage44(quickfix.fix44.ExecutionReport message,SessionId sid){
      //do something
}

它现在可以工作了。但是为什么 quickfixj 决定选择这种方法而不是其他方法,因为我使用的是修复版本 5.0 sp2 ?!

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...