2012-03-15 40 views

回答

0

雖然我不能在我的設置中重複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其自由和開源。

相關問題