【问题标题】:quickfixj Integration with External OMSquickfixj 与外部 OMS 集成
【发布时间】:2015-07-22 12:29:23
【问题描述】:

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

我已经在 main 函数下写了这个,它在通过实现 Application "public class Initiator implements Application" 创建的同一个类中

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);
}

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

请注意,如果我们添加一些控制台打印语句,例如System.out.print("Test");,则会执行上述相同的代码

请帮帮我。

【问题讨论】:

    标签: integration quickfix fix-protocol integrate quickfixj


    【解决方案1】:

    调试和运行之间的 test.cfg 设置是否不同?我会在各处添加控制台打印语句,并找出运行时失败的确切位置。

    【讨论】:

    • 嗨 Rupweb,正如我提到的,如果我们使用控制台打印 system.out.println,逻辑工作正常。但是当我们删除控制台打印时,同样的逻辑不会被触发
    猜你喜欢
    • 2011-05-27
    • 2017-12-04
    • 2011-03-20
    • 1970-01-01
    • 2013-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 2014-08-30
    相关资源
    最近更新 更多