quickfixj Интеграция с внешней OMS
Я занимаюсь разработкой для интеграции не Java-системы OMS с QuickFIX/J для отправки заказов на покупку / продажу нескольким брокерским системам. Я написал логику Belog для отправки сообщений
Я написал это под основной функцией, которая находится в том же классе, созданном путем реализации приложения "Public Class Initiator реализует приложение"
InputStream inp = InitiatorSocket.class.getResourceAsStream("test.cfg");
SessionSettings sessionSetting = new SessionSettings(inp);
Application myApp = new Initiator();
FileStoreFactory factory = new FileStoreFactory(sessionSetting);
ScreenLogFactory sfactory = new ScreenLogFactory(sessionSetting);
DefaultMessageFactory defaultMsgFactory = new DefaultMessageFactory();
initiator = new SocketInitiator(myApp, factory, sessionSetting,sfactory,defaultMsgFactory);
initiator.start();
SessionID sessionId = initiator.getSessions().get(0);
Я использую приведенный ниже код для отправки сообщений после непрерывного прослушивания каталога, используя while Loop.
while(true)
{
readFilefromSrcDirectory();
prepareFixMessage();
Session.sendToTarget(fixMessage, sessionId);
}
Мой код выше выполняется во время отладки, но когда я запускаю его нормально, Session.sendToTarget(fixMessage, sessionId);
и другая логика чтения файла, которая находится рядом с initiator.start();
не исполняется.
Пожалуйста, обратите внимание, что тот же код выше выполняется, если мы добавим некоторые операторы печати консоли, такие как System.out.print("Test");
Пожалуйста, помогите мне.
1 ответ
Ваши настройки test.cfg между отладкой и запуском отличаются? Я бы добавил консольные операторы печати везде и работал бы там, где сбой во время выполнения.