我有一個接受者應用程序,它將市場數據發送給用戶。問題是,即使我們爲會話設置了PersistMessages = N
,我們仍然可以看到消息被保留。根據quickfixj幫助文檔,如果我們設置PersistMessages = N
然後Quickfixj堅持郵件
如果設置爲N,則不會持久保留消息。這將強制QuickFIX 始終發送GapFills而不是重新發送消息。如果你知道你永遠不想重發一封郵件,請使用這個。適用於市場數據流 。
在這個問題上的任何幫助表示讚賞
預先感謝 阿文德
我有一個接受者應用程序,它將市場數據發送給用戶。問題是,即使我們爲會話設置了PersistMessages = N
,我們仍然可以看到消息被保留。根據quickfixj幫助文檔,如果我們設置PersistMessages = N
然後Quickfixj堅持郵件
如果設置爲N,則不會持久保留消息。這將強制QuickFIX 始終發送GapFills而不是重新發送消息。如果你知道你永遠不想重發一封郵件,請使用這個。適用於市場數據流 。
在這個問題上的任何幫助表示讚賞
預先感謝 阿文德
你能粘貼您的配置文件或一些東西,將是有用的? 您在日誌文件中看到的消息可能是管理員消息。 據我所知,即使您設置PersistMessages = N,管理郵件將在文件
我粘貼在[DEFAULT]下面ConnectionType = acceptor SocketAcceptPort = 8085 StartTime = 00:00:00 EndTime = 00:00:00 MillisecondsInTimeStamp = Y CheckLatency = N PersistMessages = N ResetOnLogon = Y ResetOnLogout = Y ResetOnDisconnect = Y RefreshOnLogon = N [ SESSION] \t HeartBtInt = 30 BeginString = FIX.4.2 SenderCompID = XXXXXX TargetCompID = XXXXXx UseDataDictionary = N DataDictionary = yourpath/FIX42.xml FileLogPath = yourpath/store/FileStorePath = yourpath/store/- – Arvind 2013-04-03 11:55:57
這可能是您的配置文件的問題。無論如何,如果您看到持久消息,則必須使用支持持久性的MessageStore。您還可以定義一個空的MessageStore實現,該實現不存儲任何內容,並且與設置具有相同的效果(填充間隙而不是重新發送消息)。但是,使用該設置更容易,並且是首選方法。
我對cfg文件有點困惑即在哪裏我需要添加「PersistMessages = N」它是在[默認]級別還是會話級別。這有什麼不同嗎 ? [默認] ConnectionType =受體 SocketAcceptPort = 8085 開始時間= 00:00:00 結束時間= 00:00:00 MillisecondsInTimeStamp = Y CheckLatency = N PersistMessages = N ResetOnLogon = Y ResetOnLogout = Y ResetOnDisconnect = Y RefreshOnLogon = N [SESSION] \t \t HeartBtInt = 30 BeginString = FIX.4.2 SenderCompID = XXXXXX TargetCompID = XXXXXX ù seDataDictionary = N DataDictionary = yourpath/FIX42.xml FileLogPath = yourpath/store/ FileStorePath = yourpath/store / – Arvind 2013-04-03 11:52:02
消息日誌摘錄(使用FileLogFactory創建)會很有幫助。你可以編輯你的問題,以包括10-20消息,包括之前/之後重新發送? – 2013-03-20 13:38:02
想知道你是如何解決它的 - 你是否僅僅註釋掉了與PersistMessages = N結合的filestorepath? – 2015-03-11 18:36:05