问题描述
当有人向我发送执行报告时,我看到以下消息:
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 ?!