0

我正在开发将非 Java OMS 系统与 QuickFIX/J 集成,以将买入/卖出订单发送到多个经纪系统。我已经编写了 belog 逻辑来发送消息

我已经在 main 函数下编写了这个,它与通过实现应用程序“公共类启动器实现应用程序”创建的同一个类中

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 循环连续监听目录后,我正在使用以下代码发送消息。

while(true)
{
    readFilefromSrcDirectory();

    prepareFixMessage();

    Session.sendToTarget(fixMessage, sessionId);
}

我上面的代码在调试时被执行,但是当我正常运行它时,Session.sendToTarget(fixMessage, sessionId);旁边的其他文件读取相关逻辑initiator.start();没有被执行。

请注意,如果我们添加一些控制台打印语句,如System.out.print("Test");

请帮我。

4

1 回答 1

0

调试和运行之间的 test.cfg 设置是否不同?我会在任何地方添加控制台打印语句,并准确计算出运行时失败的位置。

于 2015-07-24T10:23:48.923 回答