我在使用quickfixj的地方,在其中我使用Logout()方法从中发送修复消息的接收器“8 = FIX.4.29 = 8235 = 534 = 38749 = TEST152 = 20130409-08:01:47.86256 = TEST2-1136558 =用户被阻止10 = 231“到发起方,但我可以看到从Acceptor本身发出的心跳该如何解决?我正在使用以下代码

        Logout oLogout = new Logout();
        quickfix.field.Text aText = new quickfix.field.Text("User Is Blocked");
        oLogout.set(aText);
        Session.sendToTarget(oLogout, "TEST2-11365, "TEST1");

最佳答案

您不应该手动发送这样的注销。注销是管理员消息;您应该信任引擎来发送/接收所有管理员消息类型。

发生的情况是您在引擎的控制逻辑之外发送此消息。引擎将其视为任何其他传出的应用程序级消息,而不启动引擎的内部关闭逻辑。

如果您调用Acceptor.stop(),则引擎将启动其关闭逻辑并为您发送注销。

10-05 17:46