是否需要调用此行
Session.lookupSession(is).logon();
在此代码中
socketInitiator.start();
SessionID sessionId = socketInitiator.getSessions().get(0);
Session.lookupSession(id).logon();
while (!Session.lookupSession(id).isLoggedOn()) {
System.out.println("Waiting for login success");
Thread.sleep(500);
}
它的目的是什么,因为当我省略它时,它仍然通过while循环获得。
EDIT_的 _ __ _ __ _ __ _ __ _ ___
我在单元测试中使用它
socketInitiator.start();
SessionID sessionId = socketInitiator.getSessions().get(0);
Session.lookupSession(id).logon();
while (!Session.lookupSession(id).isLoggedOn()) {
System.out.println("Waiting for login success");
Thread.sleep(500);
}
System.out.println("Logged In...booking SingleOrder from session: " + sessionId);
//check that the party receives the fix message
assertTrue(isBookSingleOrderReceivedFromFixInbound(sessionId));
答案 0 :(得分:4)
我不知道该功能是什么,或者为什么它甚至存在。 (我可以查一查,当然,但我只是说我从来没有使用它。)
start()
调用应该使启动器开始尝试登录(假设当前时间在定义的会话中)。你甚至不应该有这样的while循环。
您应该致电start()
,然后不做任何事情。如果登录成功,您会看到FromApp
和FromAdmin
回调开始被触发传入消息(包括您的登录响应)。