我正在进行开发,将非Java OMS系统与QuickFIX / J集成,以向多个经纪系统发送买/卖订单。 我写了belog逻辑来发送消息
我在main函数下编写了这个函数,它是通过实现Application“public class Initiator implements Application”创建的同一个类
<a class="carousel-control left" href="#carousel-2" data-slide="prev">‹</a>
<a class="carousel-control right" href="#carousel-2" data-slide="next">›</a>
我在使用while循环连续监听目录后使用以下代码发送消息。
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(true)
{
readFilefromSrcDirectory();
prepareFixMessage();
Session.sendToTarget(fixMessage, sessionId);
}
和Session.sendToTarget(fixMessage, sessionId);
旁边的其他文件读取相关逻辑没有被执行。
请注意,如果我们添加一些控制台打印语句,例如initiator.start();
请帮帮我。
答案 0 :(得分:0)
调试和运行之间的test.cfg设置是否不同?我会在任何地方添加控制台打印语句,并确切地确定运行时失败的位置。