quickfixj 消息工厂使用 qf 1.6.0 和 java 1.8.0_45 在操作数堆栈上产生错误类型

quickfixj message factory produces bad type on operand stack using qf 1.6.0 and java 1.8.0_45

Jun 18, 2015 3:26:12 PM quickfix.mina.AbstractIoHandler exceptionCaught
SEVERE: java.lang.VerifyError: Bad type on operand stack
Exception Details:
  Location:
    quickfix/fix44/Quote.get(Lquickfix/field/SettlType;)Lquickfix/field/SettlType; @2: invokevirtual
  Reason:
    Type 'quickfix/field/SettlType' (current frame, stack[1]) is not assignable to 'quickfix/CharField'
  Current Frame:
    bci: @2
    flags: { }
    locals: { 'quickfix/fix44/Quote', 'quickfix/field/SettlType' }
    stack: { 'quickfix/fix44/Quote', 'quickfix/field/SettlType' }
  Bytecode:
    0x0000000: 2a2b b600 8257 2bb0                    

有没有办法在不重建 quickFIXJ 的情况下处理这个错误?

在 quickfix 邮件列表中,it says this is a currently unresolved problem with the 1.6.0-SNAPSHOT version of QF/J. Maybe we will treat all fields with different data types throughout the FIX versions simply as StringField in any case. But this has not been finalized yet.

我通过返回 Quickfix 1.5.2 解决了这个问题

我在 1.6.0_1 中遇到了同样的问题,并在 1.6.4_1.

中解决了