我正在做一个开发集成一个非Java OMS系统与QuickFIX/J发送买入/卖出订单到多个经纪系统。我已经编写了发送消息的belog逻辑。
我在main函数下写了这段代码,这个函数是通过实现应用程序"public class Initiator implements“创建的。
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"); ),将执行相同的上述代码
请帮帮我。
发布于 2015-07-24 18:23:49
您在调试和运行之间的test.cfg设置是否不同?我会在任何地方添加控制台打印语句,并准确地找出运行时出现故障的位置。
https://stackoverflow.com/questions/31563204
复制相似问题