in src/main/java/deltix/ember/sample/md/MarketDataSampleApp.java [11:72]
public static void main(String[] args) throws ConfigError, InterruptedException {
Application application = new Application() {
@Override
public void onCreate(SessionID sessionId) {}
@Override
public void onLogon(SessionID sessionId) {
System.out.println("Logon - " + sessionId);
sendMarketDataRequest(sessionId);
}
@Override
public void onLogout(SessionID sessionId) {
System.out.println("Logout - " + sessionId);
}
@Override
public void toAdmin(Message message, SessionID sessionId) {
try {
if (MsgType.LOGON.equals(message.getHeader().getString(MsgType.FIELD))) {
message.setField(new Username("user-goes-here")); //TODO
message.setField(new Password("password-goes-here")); //TODO
}
} catch (FieldNotFound fieldNotFound) {
fieldNotFound.printStackTrace();
}
System.out.println("Sending admin message: " + message);
}
@Override
public void fromAdmin(Message message, SessionID sessionId) {
System.out.println("Got admin message: " + message);
}
@Override
public void toApp(Message message, SessionID sessionId) {
System.out.println("Sending app message: " + message);
}
@Override
public void fromApp(Message message, SessionID sessionId) throws FieldNotFound, IncorrectDataFormat, IncorrectTagValue, UnsupportedMessageType {
String msgType = message.getHeader().getString(MsgType.FIELD);
if (MsgType.MARKET_DATA_SNAPSHOT_FULL_REFRESH.equals(msgType)) {
onMarketDataSnapshot ((MarketDataSnapshotFullRefresh) message);
} else if (MsgType.MARKET_DATA_INCREMENTAL_REFRESH.equals(msgType)) {
onMarketDataIncrementalUpdate((MarketDataIncrementalRefresh) message);
} else {
System.err.println("Got other app message: " + message);
}
}
};
SessionSettings settings = new SessionSettings("src/main/resources/quickfixj.cfg");
MessageStoreFactory storeFactory = new FileStoreFactory(settings);
LogFactory logFactory = new FileLogFactory(settings);
MessageFactory messageFactory = new DefaultMessageFactory();
SocketInitiator initiator = new SocketInitiator(application, storeFactory, settings, logFactory, messageFactory);
initiator.start();
// Wait forever
Thread.sleep(Long.MAX_VALUE);
}