2013-04-09 59 views
2

我正在使用quickfixj,其中我使用Logout()方法發送修復消息的接受器「8 = FIX.4.29 = 8235 = 534 = 38749 = TEST152 = 20130409-08:01:47.86256 = TEST2 -1136558 =用戶阻止10 = 231「給發起者,但是我可以看到Acceptor自己發送的心跳,我們該怎麼過來呢?我正在使用下面的代碼在Quickfixj中斷開

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

回答

3

您不應該像這樣手動發送註銷。註銷是管理員信息;你應該相信引擎發送/接收所有管理消息類型。

正在發生的事情是,您要發送這封郵件引擎的控制邏輯之外。引擎將其視爲任何其他傳出的應用程序級消息,而不是啓動引擎的內部關閉邏輯。

如果調用Acceptor.stop(),則發動機將啓動其關機邏輯和發送註銷你。

+1

我敢肯定,當你使用它sendToTarget將其作爲一個應用程序消息(通過toApp),而不是一個管理信息(通過toAdmin) – robthewolf 2013-04-09 15:40:51

+0

是的,這是正確的。我試圖在我的答案中得到這一點。我只是添加了一點改進,謝謝。 – 2013-04-09 15:43:25

+0

喜 首先感謝了很多快速回復。 @Grant Birchmeier如果認爲另一個消息,然後如何去了解它,我有多個會話需要驗證入站連接拒絕無效會話,然後終止會話怎麼做纔好呢? – Arvind 2013-04-10 05:05:54