3
有沒有方法可以從* messages.log文件中的quickFIX/J重放消息?是否有重放quickFIX/J消息的方法
看來這個問題被問了一段時間回來,但我wodering任何新的進展: Store And Replay WCF Messages
的目的是爲了能夠重新運行的消息,即使FIX連接的另一端不可用。
有沒有方法可以從* messages.log文件中的quickFIX/J重放消息?是否有重放quickFIX/J消息的方法
看來這個問題被問了一段時間回來,但我wodering任何新的進展: Store And Replay WCF Messages
的目的是爲了能夠重新運行的消息,即使FIX連接的另一端不可用。
雖然我不能在我的設置中重複FIX消息,但我可以使用單元測試「重複」它們,並使用我自己的簡單接受器和來自QuickFIX/J manual的示例。
我創建了一個簡單的受體與「FooApplication」接收消息和接聽/嘲笑一些QuoteRequests
public static void main(String[] args) throws Exception {
// FooApplication is your class that implements the Application interface
FooApplication application = new FooApplication();
SessionSettings settings = new SessionSettings(new FileInputStream(fileName));
MessageStoreFactory storeFactory = new FileStoreFactory(settings);
LogFactory[] logFactories = new LogFactory[] {new FileLogFactory(settings)};
LogFactory logFactory = new CompositeLogFactory(logFactories);
MessageFactory messageFactory = new DefaultMessageFactory();
Acceptor acceptor = new SocketAcceptor(application, storeFactory, settings, logFactory, messageFactory);
acceptor.start();
}
然後使用單元測試我發起FooInitiator並呼籲例如sendLogout ()從FooClient
public class FooClient extends quickfix.fix42.MessageCracker implements quickfix.Application {
// sendQuoteRequest
// sendNewOrderSingle
private boolean sendMessage(Message message) {
boolean result = false;
try {
result = Session.sendToTarget(message, session);
} catch (SessionNotFound e) {
logger.error("FooApplication SessionNotFound", e);
result = false;
}
return result;
}
public boolean sendLogout() {
return sendMessage(new Logout());
}
}
如果你正在尋找FIX消息日誌也許你會想萬一檢查你不知道HermesJMS其自由和開源。
如果您發現任何內容,請將其張貼爲答案。 – assylias 2012-03-16 08:43:47