0

我正在使用 quickfix 库对修复协议做一些事情。

我写了这样的课:

public class ApplicationImpl implements Application {
...
    @Override
public void toApp(Message arg0, SessionID arg1) throws DoNotSend {
    //this is invoked before sending message
}
...
}

我想知道发送消息后如何调用某些方法?

4

3 回答 3

1

QuickFIX 不提供消息发送后回调。

于 2013-10-07T14:28:57.623 回答
0

您需要在代码中的某个位置发送消息(而不是在覆盖的方法中):

Session.sendToTarget(outgoingMessage, orderSession);

这将执行一些内部 quickfixJ 代码,然后调用toApp(). 该toApp()方法允许您在将消息发送到代理之前对其进行修改。但理想情况下,为了在您发送后做某事,您只需要在调用Session.sendToTarget().

于 2013-10-07T13:17:35.503 回答
0

如果你喜欢冒险,你可以修改 QuickFIX/J 来做。MINA 网络层确实提供了 messageSent 回调。如果您在 QFJ 的 InitiatorIoHandler(或 AcceptorIoHandler)中覆盖该方法,您可以直接处理 messageSent 事件或将其传播到修改后的应用程序接口。

于 2013-10-09T09:49:58.850 回答