我正在使用quickfix库修复协议。
我写了这样的课:
public class ApplicationImpl implements Application {
...
@Override
public void toApp(Message arg0, SessionID arg1) throws DoNotSend {
//this is invoked before sending message
}
...
}
我想知道如何在发送消息后调用某些方法?
答案 0 :(得分:1)
QuickFIX不提供post-message-send回调。
答案 1 :(得分:0)
您需要在代码中的某处发送消息(而不是覆盖方法):
Session.sendToTarget(outgoingMessage, orderSession);
这将执行一些内部quickfixJ代码,然后调用toApp()
。 toApp()
方法允许您在将消息发送到代理之前对其进行修改。但理想情况下,为了在您发送邮件后执行某些操作,只需在调用Session.sendToTarget()
后添加代码。
答案 2 :(得分:0)
如果您喜欢冒险,可以修改QuickFIX / J来执行此操作。 MINA网络层确实提供了messageSent回调。如果在QFJ的InitiatorIoHandler(或AcceptorIoHandler)中覆盖该方法,则可以直接处理messageSent事件或将其传播到已修改的Application接口。