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 между отладкой и запуском отличаются? Я бы добавил консольные операторы печати везде и работал бы там, где сбой во время выполнения.

Другие вопросы по тегам